Compare commits

...

2674 Commits

Author SHA1 Message Date
Kevin Minehart
43b083e54e update PR patch check / sync mirror workflows 2025-04-22 08:45:27 -05:00
grafana-delivery-bot[bot]
8bc94106e2 [v11.3.x] Alerting docs: clarify $labels and query labels (#97356)
Alerting docs: clarify `$labels` and query labels (#97350)

* Alerting docs: clarify `$labels` and query labels

* fix mispell

(cherry picked from commit 8fe36e1c83)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-12-03 16:11:23 +01:00
grafana-delivery-bot[bot]
54ff80afb1 [v11.3.x] Deprecate notice for metrics summary and Aggregate by (#94788)
Deprecate notice for metrics summary and Aggregate by (#94761)

(cherry picked from commit a5022d9dc6)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-12-03 10:06:38 -05:00
grafana-delivery-bot[bot]
780e191177 [v11.3.x] Packaging: Remove sysvinit references / support from rhel packaging (#97309)
Packaging: Remove sysvinit references / support from rhel packaging (#97068)

Remove sysvinit references / support from rhel packaging

(cherry picked from commit 3448384e0d)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-12-02 22:20:45 +02:00
Jev Forsberg
e80e6e532c [v11.3.x] Chore: Remove verification steps for deb/rpm in drone (#97297)
Chore: Remove verification steps for deb/rpm in drone (#96991)

remove verification steps for deb/rpm in drone

(cherry picked from commit feeb2c6ce0)

Co-authored-by: Serge Zaitsev <serge.zaitsev@grafana.com>
2024-12-02 11:57:59 -07:00
grafana-delivery-bot[bot]
17d7ca7232 [v11.3.x] Docs: Canvas visualization refactor (#97286)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-12-02 12:11:29 -05:00
grafana-delivery-bot[bot]
bc3fd9d808 [v11.3.x] Docs: Add more information on wrap text override (#97273)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-12-02 11:12:36 -05:00
grafana-delivery-bot[bot]
1de9f9477f [v11.3.x] Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key (#97262)
Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key (#97162)

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

* Lint

(cherry picked from commit fa634e1476)

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

(cherry picked from commit 64c93217ff)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-12-02 09:15:40 -05:00
grafana-delivery-bot[bot]
b35522672b [v11.3.x] doc: Fix spacing in sample values for enabling persistence (#97238)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: horacimacias <horacimacias@gmail.com>
Fix spacing in sample values for enabling persistence (#97220)
2024-12-02 12:47:48 +02:00
grafana-delivery-bot[bot]
c8031ed338 [v11.3.x] Update index.md to add a note about provisioned data source (#97232)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Gaurav Soni <raveformails@gmail.com>
2024-12-02 12:00:00 +02:00
Sergej-Vlasov
9c606f2302 Update to scenes 5.28.1 (#97204) (#97207)
update to scenes 5.28.1

(cherry picked from commit 174e9ae193)
2024-11-29 18:16:56 +02:00
grafana-delivery-bot[bot]
8395bda60f [v11.3.x] Alerting: Fix contact points secure settings migration (#97146)
Alerting: Fix contact points secure settings migration (#95787)

Add missing migration for secure settings, add types to notifiers mocks

(cherry picked from commit 3c8d29fa46)

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2024-11-28 14:40:16 +01:00
grafana-delivery-bot[bot]
f8dfaebf4c [v11.3.x] DashboardScene: Fix layout issues with repeated panels when repeatDirection is missing (#97156)
DashboardScene: Fix layout issues with repeated panels when `repeatDirection` is missing (#97149)

fix

(cherry picked from commit 0bf9d68070)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-11-28 14:48:02 +02:00
grafana-delivery-bot[bot]
1c201629d5 [v11.3.x] Docs: Fix broken link (#97121)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Fix broken link (#97119)
2024-11-27 12:07:19 -05:00
grafana-delivery-bot[bot]
37858e7e24 [v11.3.x] Docs: Add note to refresh page after saving dashboards (#97114)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-27 11:28:46 -05:00
grafana-delivery-bot[bot]
60370b4ea6 [v11.3.x] Docs: Add column lists to panel config pages (#97111)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-27 10:37:12 -05:00
Sergej-Vlasov
70c37c9b03 Update scenes to v5.26.0 (#96968) (#97089)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b23805a78a)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 13:38:19 +00:00
Sergej-Vlasov
55cb58b8be Update scenes to v5.25.1 (#96782) (#97086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 68e7f6069c)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 09:53:29 +00:00
Sergej-Vlasov
1695d2716f Update scenes to v5.25.0 (#96463) (#97060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit 8375fcd350)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 09:06:10 +00:00
Sergej-Vlasov
9ab6d23f77 Update scenes to v5.23.1 (#95951) (#97050)
* Update scenes to v5.23.1

* Fix e2e tests

* Fix unit tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
(cherry picked from commit 70c21a2e4d)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 15:43:57 +00:00
Sergej-Vlasov
13e8921d27 Update scenes to v5.22.1 (#95655) (#97047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
(cherry picked from commit b4012b6ac8)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 14:58:43 +00:00
grafana-delivery-bot[bot]
d0e5c87992 [v11.3.x] [DOC] Remove simple configuration in Tempo data source docs (#97002)
[DOC] Remove simple configuration in Tempo data source docs (#96932)

* Remove simple configuration from Tempo data source docs

* Change deprecation to 11.5 for aggregate by

* Update docs/sources/shared/datasources/tempo-search-traceql.md

(cherry picked from commit 18c8ed3088)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-11-25 21:11:36 -05:00
grafana-delivery-bot[bot]
4cb555fa8b [v11.3.x] Docs: Add correlations youtube link to What's new (#95281)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-25 10:07:12 -05:00
Alexander Akhmetov
98be4ac047 [v11.3.x] Alerting: Update state manager to have immutable state in cache (#96843)
* Alerting: Update state manager to have immutable state in cache (#95985)

* create a new state and set at the end
* propagate labels datasource_uid and ref_id from current state if it's error
* copy the state when apply to all

(cherry picked from commit 420db99d16)

* Remove unused states variables

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-11-25 15:22:40 +01:00
Kevin Minehart
9c7c333856 [v11.3.x] CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96874)
CI: Add github app token generation in pipelines that use GITHUB_TOKEN (#96646)

* Add github app token generation in pipelines that use GITHUB_TOKEN

* ci?

* clone gh repo using x-access-token user

* address linting issues

* use mounted volume for exporting token

* remove unused github_token env var swagger gen step

* replace pat on release_pr pipepline

* cleanup GH PAT references

* linting

* Update scripts/drone/steps/lib.star

* make drone

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
(cherry picked from commit 2400483d6c)
2024-11-21 21:08:48 -06:00
Jacob Valdez
d15321179e [v11.3.x] Docs: Removing outdated versioning info in create reports (#96808)
Docs: Removing outdated versioning info in create reports (#96804)

Removing outdated versioning info in create reports

(cherry picked from commit e6a771cf4a)

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-21 15:28:19 -06:00
grafana-delivery-bot[bot]
f0e56bdf64 [v11.3.x] Docs: Update InfluxDB data source documentation (#96864)
Docs:  Update InfluxDB data source documentation (#96343)

* created config doc, made initial changes

* initial draft of config doc completed

* additional edits

* moved config doc into directory, renamed

* made additional updates

* template variables updates/cleanup

* cleaned up intro page, some more minor edits

* edited and re-formatted configure the data source doc

* final edits

* more edits

* minor changes prior to PR

* fix typo

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

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

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

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

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

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

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

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

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

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

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

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* Update docs/sources/datasources/influxdb/configure-influxdb-data-source/_index.md

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

* Update docs/sources/datasources/influxdb/query-editor/index.md

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

* updates based on feedback

* ran prettier

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 26be86ee15)

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-11-21 13:48:12 -06:00
grafana-delivery-bot[bot]
bc89fe04b9 [v11.3.x] Alerting docs: fix data source link (#96844)
Alerting docs: fix data source link (#96819)

* Alerting docs: fix data source link

* updates

* corrects menu path

* correct pattern destination

(cherry picked from commit b392a44737)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-21 15:10:28 +01:00
grafana-delivery-bot[bot]
e3367ccf9a [v11.3.x] Scenes: Fix angular migrations that are using the targets property on the old panel model (#96831)
Scenes: Fix angular migrations that are using the targets property on the old panel model (#96626)

Fix angular migrations using target

(cherry picked from commit 5986b03a8f)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-11-21 13:32:12 +01:00
grafana-delivery-bot[bot]
dfb1f9a3c1 [v11.3.x] Docs: stat visualization refactor (#96801)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-20 15:40:58 -05:00
grafana-delivery-bot[bot]
f5cf121eb5 [v11.3.x] Docs: Moved and renamed navigation section (#96797)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-20 15:25:33 -05:00
grafana-delivery-bot[bot]
64b556c137 [v11.3.x] Added docket tag note to security section (#96726)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: margotphelps <123196595+margotphelps@users.noreply.github.com>
2024-11-19 15:45:02 -05:00
github-actions[bot]
8d6bbb7a4b Release: 11.3.1 (#96714)
* Update changelog

* Update version to 11.3.1

* Update version

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-19 18:36:29 +00:00
Isabel Matwawana
08e10ff665 [v11.3.x] Docs: Node graph visualization refactor (#96707) 2024-11-19 11:40:10 -05:00
grafana-delivery-bot[bot]
13d60c9bd4 [v11.3.x] Docs: Logs visualization refactor (#96637)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-18 10:22:53 -05:00
grafana-delivery-bot[bot]
96d1d5a07b [v11.3.x] Alerting docs: fix query syntax sentence (#96618)
Alerting docs: fix query syntax sentence (#96614)

* Alerting docs: fix query syntax sentence

* updates sentence

* pepes feedback

(cherry picked from commit d187716e73)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-18 12:26:24 +01:00
grafana-delivery-bot[bot]
c97b64e9ff [v11.3.x] Docs: Added New Release Dates,Security Versioning and Freezes (#96571)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: margotphelps <123196595+margotphelps@users.noreply.github.com>
2024-11-15 11:09:33 -05:00
grafana-delivery-bot[bot]
54eca5c73f [v11.3.x] Docs: Bar chart visualization refactor (#96560)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-15 10:09:40 -05:00
grafana-delivery-bot[bot]
4b634e887d [v11.3.x] Docs: Plugin Installation - reorganize and add air-gapped environments (#96533)
Docs: Plugin Installation - reorganize and add air-gapped environments (#96437)

* rewriting installation docs and including info about airgapped environments

* Changing example to lokieexplore app

* run prettier

* adding corrections

* running prettier

---------

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

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-11-15 13:55:27 +01:00
Konrad Lalik
9225f4a1cb [v11.3.x] Alerting: Add useReturnTo hook to safely handle returnTo parameter (#96481)
Alerting: Add useReturnTo hook to safely handle returnTo parameter (#96474)

Add useReturnTo hook to safely handle returnTo parameter

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
(cherry picked from commit 54cc666aa0)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-11-15 10:10:37 +02:00
grafana-delivery-bot[bot]
a09dcda92d [v11.3.x] Alerting: Fix per-receiver RBAC for receivers with long names (#95165)
Alerting: Fix per-receiver RBAC for receivers with long names (#95084)

* Implement uidToResourceID

* add middleware

* Move uidToResourceID to alerting package

* Only hash uid if it's too long

* Use hashed uid in access control

* Move ReceiverUidToResourceId to ScopeProvider

* resolve uid in middleware only if param exists

* Tests

* Linting

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
(cherry picked from commit 4aad44e848)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-11-14 13:01:31 -05:00
grafana-delivery-bot[bot]
a6bc76df32 [v11.3.x] Docs: Add canvas custom images and icon guidance (#96470)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-14 11:02:48 -05:00
grafana-delivery-bot[bot]
d5cbf07090 [v11.3.x] Docs/adding information on using variable expansion and env variable for TLS certs when provisioning data sources (#96471)
Docs/adding information on using variable expansion and env variable for TLS certs when provisioning data sources (#96400)

Docs/adding information on using variable expansion and env variables for TLS certs when provisioning data sources

(cherry picked from commit 28ad9684e9)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-11-14 17:36:23 +02:00
kay delaney
d32c02ae14 [v11.3.x] Dashboard datasource: Return annotations as series when query topic is "annotations" (#95971)
Dashboard datasource: Return annotations as series when query topic is "annotations" (#95965)

(cherry picked from commit 26b0e8f105)
2024-11-14 14:45:17 +00:00
grafana-delivery-bot[bot]
d815e1107d [v11.3.x] Alerting docs: adds cloud alert rule limits (#96442)
Alerting docs: adds cloud alert rule limits (#96441)

(cherry picked from commit 14d868a791)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-14 12:38:07 +02:00
Victor Marin
700f59a0ea [v11.3.x] Fix dashboards listing table appearing distorted (#96390)
Fix dashboards listing table appearing distorted (#96371)

* fix CSS

* approx height calc to account for header div

(cherry picked from commit 19c04168c3)
2024-11-14 09:37:27 +02:00
grafana-delivery-bot[bot]
a6cdb48249 [v11.3.x] Docs: Add auth entries to what's new 11.2 (#96394)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-11-13 09:29:15 -05:00
grafana-delivery-bot[bot]
ecf127c0fa [v11.3.x] Docs/removing outdated versioning info in OSS data source docs (#96352)
Docs/removing outdated versioning info in OSS data source docs (#96351)

docs/removing outdated versioning info in oss data source docs

(cherry picked from commit f83f7332a1)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-11-12 15:02:20 -06:00
lean.dev
9241bc5f5c [v11.3.x] MigrationAssistant: Restrict dashboards, folders and datasources by the org id of the signed in user (#96345)
apply security patch: v11.3.x/194-202410181505.patch
2024-11-12 16:33:00 -03:00
github-actions[bot]
a2b1cda210 Release: 11.3.0+security-01 (#96295)
* Update changelog

* add relevant CVE fix to the changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-11-12 16:01:43 +00:00
grafana-delivery-bot[bot]
50762226a0 [v11.3.x] docs: Fixed title wording from bar gauge to canvas (#96319)
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
Fixed title wording from bar gauge to canvas (#96312)
2024-11-12 10:13:31 -05:00
grafana-delivery-bot[bot]
58333e0507 [v11.3.x] Alerting: Fix setting datasource uid, when datasource is string in old version (#96273)
Alerting: Fix setting datasource uid, when datasource is string in old version (#96085)

fix setting datasource uid, when datasource is string in old versions rules

(cherry picked from commit 2f58311eea)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-11-12 14:23:44 +01:00
Adela Almasan
5cc78ea219 [v11.3.x] Actions: Fix interpolation (#96247)
øActions: Fix interpolation  (#96161)

(cherry picked from commit 754351273b)
2024-11-12 07:21:59 -06:00
grafana-delivery-bot[bot]
a8cb62f05a [v11.3.x] Alerting docs: adds prereqs to configure data source (#96274)
Alerting docs: adds prereqs to configure data source (#96272)

* Alerting docs: adds prereqs to configure data source

* fixes numbering

(cherry picked from commit 35572c9731)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-12 11:59:30 +01:00
grafana-delivery-bot[bot]
89ea2a15ce [v11.3.x] docs: Update CanvasDoc adding video link (#95994)
docs: Update CanvasDoc adding video link (#95953)

Update CanvasDoc adding video link

(cherry picked from commit cd3a71e7cb)

Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-11-11 15:14:34 +01:00
grafana-delivery-bot[bot]
5e1479d887 [v11.3.x] Alerting docs: fixes broken oncall link (#96217)
Alerting docs: fixes broken oncall link (#96215)

(cherry picked from commit ca04cf780b)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-11 14:08:58 +01:00
grafana-delivery-bot[bot]
f1c4e83865 [v11.3.x] Flame Graph: Fix crash when it receives empty data (#96211)
Flame Graph: Fix crash when it receives empty data (#95604)

flame graph crash

(cherry picked from commit 3012d4c043)

Co-authored-by: jackyin <yincong@baidu.com>
2024-11-11 13:00:23 +00:00
grafana-delivery-bot[bot]
cfa3ef73a1 [v11.3.x] Alerting docs: updates to landing page (#96214)
Alerting docs: updates to landing page (#96200)

* Alerting docs: updates to landing page

* Update docs/sources/alerting/_index.md

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>

---------

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
(cherry picked from commit 19bed65d9b)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-11 13:45:21 +01:00
grafana-delivery-bot[bot]
c99c8c56e2 [v11.3.x] Alerting docs: Move Meta monitoring to Additional configuration section (#96207)
Alerting docs: Move `Meta monitoring` to `Additional configuration` section (#96150)

(cherry picked from commit 154a2e0d06)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-11 11:23:50 +01:00
grafana-delivery-bot[bot]
5b1a386dac [v11.3.x] BarChart: Fix threshold lines rendering for horizontal orientation (#96137)
BarChart: Fix threshold lines rendering for horizontal orientation (#95737)

* Use different threshold x/y coordinates depending on orientation

* invert wording / semantics

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit 95692b3d68)

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2024-11-09 13:45:03 -06:00
Fayzal Ghantiwala
8bc0014845 [v11.3.x] Alerting: Make context deadline on AlertNG service startup configurable (#96135)
Alerting: Make context deadline on AlertNG service startup configurable (#96053)

* Make alerting context deadline configurable

* Remove debug logs

* Change default timeout

* Update tests

(cherry picked from commit 1fdc48faba)
2024-11-08 16:46:50 +00:00
grafana-delivery-bot[bot]
8f10dbe12d [v11.3.x] Alerting: Fix editing expressions refId (#95035)
Alerting: Fix editing expressions refId (#94941)

Fix refId editing

(cherry picked from commit 836881b713)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-11-08 16:54:01 +01:00
grafana-delivery-bot[bot]
546e0e214b [v11.3.x] Alerting: Force refetch prom rules when refreshing panel (#96125)
Alerting: Force refetch prom rules when refreshing panel (#96120)

Force refetch prom rules when refreshing panel

(cherry picked from commit ea0a6a1f7f)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-11-08 16:36:51 +01:00
grafana-delivery-bot[bot]
3704073e6f [v11.3.x] Alerting docs: reuse Additional configuration page for Cloud docs (#96121)
Alerting docs: reuse `Additional configuration` page for Cloud docs (#96101)

(cherry picked from commit b953190328)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-08 16:19:04 +01:00
grafana-delivery-bot[bot]
c9c1bbfa6e [v11.3.x] Alerting docs: changes advanced to additional (#96092)
Alerting docs: changes advanced to additional (#96083)

(cherry picked from commit 86bc087257)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-08 14:32:30 +02:00
grafana-delivery-bot[bot]
402b023b45 [v11.3.x] Alerting docs: adds advanced config section (#96050)
Alerting docs: adds advanced config section (#96013)

* Alerting docs: adds advanced config section

* corrects ref

* feedback from pepe

* renames detect and respond

(cherry picked from commit b2af163dc5)

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-11-08 09:58:18 +01:00
grafana-delivery-bot[bot]
be895603c8 [v11.3.x] Docs: clarify the description of actions_allow_post_url (#96045)
Docs: clarify the description of actions_allow_post_url (#95995)

* Docs: clarify the description of actions_allow_post_url

* adding a word to clarify this extends the default behavior and doesn't replace it

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

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>

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

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>

---------

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>
(cherry picked from commit 4cc204affe)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-11-07 10:15:59 -06:00
grafana-delivery-bot[bot]
c2d85230b1 [v11.3.x] Alerting docs: Introduction - brief overview of notification messages. (#96042)
Alerting docs: Introduction - brief overview of notification messages. (#95987)

* Intro: simplify `Architecture`. Add a new guideline

* Define `Notification policies` as an advanced option

* Intro: include about "Notification messages"

* Minor copy changes

(cherry picked from commit ff2f612412)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-07 16:51:12 +01:00
Jack Westbrook
3824dc412d [v11.3.x] Chore: Resolve duplicate e2e-selectors packages to workspace (#94945)
chore(yarn): resolve scenes e2e selectors to workspace version
2024-11-07 16:40:35 +01:00
grafana-delivery-bot[bot]
0e0a2c0371 [v11.3.x] Alerting: Fix saving advanced mode toggle state in the alert rule editor (#95981)
Alerting: Fix saving advanced mode toggle state in the alert rule editor (#95924)

(cherry picked from commit 4ce1abc6f9)

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2024-11-06 19:04:59 +01:00
grafana-delivery-bot[bot]
8273628550 [v11.3.x] Alerting docs: specify using multiple contact point integrations in the UI and HTTP API (#95967)
Alerting docs: specify using multiple contact point integrations in the UI and HTTP API (#95890)

* Sort list of contact points on the sidebar

* Update `Configure contact points` to clarify contact point integrations

* Alerting HTTP API: fix `EmbeddedContactPoint` properties table

* HTTP Alerting API: clarify how `ContactPoint.name` groups contact points

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

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

---------

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

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-06 15:45:52 +01:00
grafana-delivery-bot[bot]
d489ecf794 [v11.3.x] Dashboard: Append orgId to URL (#95963)
Dashboard: Append orgId to URL (#95960)

(cherry picked from commit 52f4bd64e0)

Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-11-06 16:28:37 +02:00
grafana-delivery-bot[bot]
16411b1b4a [v11.3.x] ServerLock: Fix pg concurrency/locking issue (#95935)
ServerLock: Fix pg concurrency/locking issue (#95916)

Fix pg unique constraint validation in serverlock

(cherry picked from commit ab974ddf14)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-11-06 11:09:20 +02:00
grafana-delivery-bot[bot]
8567089ed2 [v11.3.x] Docs: Updating steps for pulling Grafana metrics into Prometheus (#95918)
Docs: Updating steps for pulling Grafana metrics into Prometheus (#95913)

* Docs: Updating steps for pulling Grafana metrics into Prometheus

* slight update based on review

(cherry picked from commit 9a1e7de79d)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-11-06 00:17:12 +02:00
grafana-delivery-bot[bot]
1100a0409f [v11.3.x] [DOC] Add Pyroscope to list of products (#95911)
[DOC] Add Pyroscope to list of products (#95884)

* Add Pyroscope to list of products

* Update docs/sources/shared/basics/what-is-grafana.md

* Apply suggestions from code review

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
Co-authored-by: Bryan Huhta <32787160+bryanhuhta@users.noreply.github.com>
(cherry picked from commit 78c5fe61df)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-11-05 15:00:20 -05:00
grafana-delivery-bot[bot]
a7c1f37435 [v11.3.x] Azure: Handle namespace request rejection (#95909)
Azure: Handle namespace request rejection (#95574)

Handle rejection and add test

(cherry picked from commit da1a5426d0)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-11-05 21:06:30 +02:00
grafana-delivery-bot[bot]
cbf9e323b6 [v11.3.x] Docs: updating auto_refresh_license information (#95902)
Docs: updating auto_refresh_license information (#95804)

(cherry picked from commit a8578484bb)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-11-05 18:38:53 +01:00
grafana-delivery-bot[bot]
0826aa0078 [v11.3.x] Alerting docs: Update Create alert rules from panels (#95818)
Alerting docs: Update `Create alert rules from panels` (#95566)

* Alerting docs: Update `Create alert rules from panels`

* Remove screenshots except when the panel displays alert status

* Further changes sync with Brenda

* minor changes

* Relocate admonition

* Specify `dashboardUId` and `panelId` must be set together

* Update docs/sources/alerting/alerting-rules/link-alert-rules-to-dashboards.md

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

* change title

* change URL

* fix spell error

---------

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

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-05 10:13:57 +01:00
grafana-delivery-bot[bot]
9bb7d77cdb [v11.3.x] Timeseries: Utilize min/max on stacking percentage (#95793)
Timeseries: Utilize min/max on stacking percentage (#95581)

* Bring in defined min/max into stacking range

* simplify logic

* different approach

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
(cherry picked from commit 68aefc73b6)

Co-authored-by: Kristina <kristina.durivage@grafana.com>
2024-11-04 15:09:28 -06:00
grafana-delivery-bot[bot]
e31c4fc59b [v11.3.x] Alerting: Fix contact points secrets validation (#95777)
Alerting: Fix contact points secrets validation (#95651)

Add new condition to the determineRequired function

(cherry picked from commit e43bec2cd8)

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-11-04 15:10:03 +01:00
grafana-delivery-bot[bot]
28f9eb3221 [v11.3.x] Alerting docs: add Time type documentation for notification templates (#95776)
Alerting docs: add `Time` type documentation for notification templates (#95688)

* Improve `tz` and `date` docs

* Add documentation for `Time` type

(cherry picked from commit 9d937725ad)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-04 12:48:55 +01:00
grafana-delivery-bot[bot]
693ed6dddd [v11.3.x] Alerting docs: fix alertname label name (#95767)
Alerting docs: fix `alertname` label name (#95665)

(cherry picked from commit 8a0c920106)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-04 10:54:58 +01:00
grafana-delivery-bot[bot]
8f030aa210 [v11.3.x] Alerting docs: Add one notification template example that prints a title or subject (#95766)
Alerting docs: Add one notification template example that prints a title or subject (#95680)

(cherry picked from commit d3a3e53354)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-11-04 10:54:40 +01:00
grafana-delivery-bot[bot]
ef12cfe67d [v11.3.x] E2E: remove duplicate loki e2e tests (#95667)
E2E: remove duplicate loki e2e tests (#95644)

* remove duplicate loki e2e tests to avoid flakiness

* unskip test

* adjust panel ids

(cherry picked from commit 9f5258717e)

Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
2024-11-01 09:56:38 +00:00
grafana-delivery-bot[bot]
4f80c4c55c [v11.3.x] Unified Storage: Use ssl_mode instead of sslmode (#95662)
Unified Storage: Use ssl_mode instead of sslmode (#95658)

change unistore to use ssl_mode instead of sslmode

(cherry picked from commit 76b43267c8)

Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2024-10-31 15:30:34 +00:00
grafana-delivery-bot[bot]
66518db34c [v11.3.x] Docs: Updating versions in activating AWS marketplace license (#95656)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-10-31 15:08:25 +01:00
grafana-delivery-bot[bot]
855dcd7b7b [v11.3.x] Migration: Remove table aliasing in delete statement to make it work for mariadb (#95232)
Migration: Remove table aliasing in delete statement to make it work for mariadb (#95226)

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

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-10-31 07:51:27 +00:00
grafana-delivery-bot[bot]
ab85eacea6 [v11.3.x] Docs: adding SAML name parameter configuration info (#95621)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-10-30 18:03:22 +01:00
grafana-delivery-bot[bot]
11aedea347 [v11.3.x] Graphite: Fix Multi Dimensional Alias Name (#95618)
Graphite: Fix Multi Dimensional Alias Name (#94563)

(cherry picked from commit 89da7d6fe5)

Co-authored-by: Alyssa (Bull) Joyner <58453566+alyssabull@users.noreply.github.com>
2024-10-30 16:12:41 +00:00
grafana-delivery-bot[bot]
fdc1859d0d [v11.3.x] GCM: Fix error checking for GCE project getter (#95617)
GCM: Fix error checking for GCE project getter (#95613)

Appropriately check error

(cherry picked from commit 08e880a823)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-30 15:50:25 +00:00
grafana-delivery-bot[bot]
1540c767cc [v11.3.x] Folders: Don't show error pop-up if the user can't fetch the root folder (#95600)
Folders: Don't show error pop-up if the user can't fetch the root folder (#95569)

don't show error pop-up if the user can't read general folder

(cherry picked from commit 092a1813ef)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-30 11:06:06 +00:00
grafana-delivery-bot[bot]
7f36355451 [v11.3.x] Remove second aliases section (#95595)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-30 10:00:21 +00:00
grafana-delivery-bot[bot]
397c96c1cc [v11.3.x] Docs: Adding memory requirements to image renderer docs (#95572)
Docs: Adding memory requirements to image renderer docs (#95571)

Adding memory requirements to image renderer docs

(cherry picked from commit d480900a9b)

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2024-10-29 13:10:44 -05:00
grafana-delivery-bot[bot]
13336dd198 [v11.3.x] Alerting docs: Update Recording Rules (#95535)
Alerting docs: Update Recording Rules (#95435)

* WIP - Restructure recording rule pages

* Add more `Recording rules` use cases

* Update `Intro > Alert rules`. Minor style changes and updates to the recording rules section

* Minor verb change

* Switch `aliases` and fix broken link

* Bold for clarity

* Complete `Create recording rules in Grafana Alerting`

* Complete data source-managed recording rules

* Final update

(cherry picked from commit 9b91be739d)

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-10-29 09:58:35 +01:00
grafana-delivery-bot[bot]
cb5df488a8 [v11.3.x] Replace myself with Irene who oversees Grafana documentation (#95494)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-28 15:35:58 +02:00
grafana-delivery-bot[bot]
5af40ed44f [v11.3.x] User: Check SignedInUser OrgID in RevokeInvite (#95490)
User: Check SignedInUser OrgID in RevokeInvite (#95476)

Check SignedInUser OrgID in RevokeInvite

(cherry picked from commit fedcf47702)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-10-28 14:42:19 +02:00
grafana-delivery-bot[bot]
c081bb53d0 [v11.3.x] Update _index.md (#95475)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Jay <92761481+JayEkin@users.noreply.github.com>
2024-10-28 12:01:23 +02:00
grafana-delivery-bot[bot]
8ea5af7335 [v11.3.x] Update _index.md (#95470)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
Co-authored-by: Jay <92761481+JayEkin@users.noreply.github.com>
2024-10-28 11:28:27 +02:00
grafana-delivery-bot[bot]
d763aae5f2 [v11.3.x] Service Accounts: Run service account creation in transaction (#94803)
Service Accounts: Run service account creation in transaction (#94744)

* run service account creation DB queries in transaction

* extract the signed in user from the context

* undo unneeded change

* don't error out if a user is not found

* Update pkg/services/serviceaccounts/manager/service.go

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

* Update pkg/services/serviceaccounts/manager/service.go

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

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Karl Persson <kalle.persson@grafana.com>
(cherry picked from commit ca1fd028a2)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-27 20:50:20 +01:00
Kevin Minehart
4a30c85b77 [v11.3.x] CI: Consolidate package and docker steps (#95419)
update .drone.yml
2024-10-25 12:44:15 -05:00
Drew Slobodnjak
a78607432e [v11.3.x] Table: Fix text wrapping applying to wrong field (#95425)
Table: Fix text wrapping applying to wrong field (#93707)

* Fix text wrap
---------

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

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2024-10-25 08:55:39 -07:00
grafana-delivery-bot[bot]
12a54c2414 [v11.3.x] Docs: Fix shared file references (#95289)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Fix shared file references (#95287)
2024-10-25 11:15:23 -04:00
grafana-delivery-bot[bot]
bb4e253c76 [v11.3.x] Docs: Table visualization update (#95286)
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-25 11:09:50 -04:00
Kevin Minehart
90a562257c [v11.3.x] CI: Remove drone steps for building windows because its done in grafana-… (#95413)
CI: Remove drone steps for building windows because it's done in grafana-… (#95373)

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

(cherry picked from commit 67b3848fd9)
2024-10-25 07:53:52 -06:00
grafana-delivery-bot[bot]
5889d680e9 [v11.3.x] Folders: Add admin permissions upon creation of a folder w. SA (#95365)
Folders: Add admin permissions upon creation of a folder w. SA (#95072)

* add admin permissions upon creation of a folder w. SA

* Update pkg/services/folder/folderimpl/folder.go

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

* Grant service account permissions for creation of dashboards

* Grant service account admin permissions upon creating a datasource

* fetch user using the userservice with the userid

* Revert "fetch user using the userservice with the userid"

This reverts commit 23cba78752.

* revert back to original datasource creation

---------

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

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-10-25 08:51:09 +01:00
grafana-delivery-bot[bot]
86deb2b4c4 [v11.3.x] Auth: Increase name_id and session_id length to 1024 in user_external_session (#95360)
Auth: Increase name_id and session_id length to 1024 in user_external_session (#95352)

Increase name_id and session_id length to 1024

(cherry picked from commit b8b7c7901c)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-10-24 18:36:43 +03:00
grafana-delivery-bot[bot]
c5d7a954ef [v11.3.x] Alerting: Fix escaping of silence matchers in utf8 mode (#95347)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Fix escaping of silence matchers in utf8 mode (#95067)
2024-10-24 16:33:15 +03:00
kay delaney
54e5e6c1b5 [v11.3.x] Update scenes to v5.20.4 (#95337)
Update scenes to v5.20.4
2024-10-24 12:57:24 +01:00
grafana-delivery-bot[bot]
c99956285b [v11.3.x] Dashboards: Fixes performance issue expanding a row (#95321)
Dashboards: Fixes performance issue expanding a row  (#95311)

* DashboardScene: Optimize change detection

* Remove arg

* remove console log

(cherry picked from commit 3523289e98)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-10-24 12:23:21 +03:00
grafana-delivery-bot[bot]
9d867a4441 [v11.3.x] Remove doc-validator requirement to run on all pull requests (#95316)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-24 11:38:12 +03:00
grafana-delivery-bot[bot]
a9088a7bbb [v11.3.x] CI: use linux to build msi installers (#95292)
CI: use linux to build msi installers (#95215)

* Build the MSI installers using Linux and wine

(cherry picked from commit 66c728d26b)

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-10-23 14:51:29 -05:00
grafana-delivery-bot[bot]
7cf08ebaf9 [v11.3.x] Prometheus: Fix passing query timeout to upstream queries (#95264)
Prometheus: Fix passing query timeout to upstream queries (#95104)

* remove queryTimeout from constructor

* use queryTimeout for range and instant queries

* remove comment

* remove default query timeout

* fix linting

(cherry picked from commit 78a00d09cd)

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-10-23 17:02:18 +02:00
grafana-delivery-bot[bot]
c76d97bb13 [v11.3.x] Azure: Fix duplicated traces in multi-resource trace query (#95247)
Azure: Fix duplicated traces in multi-resource trace query (#95156)

Use first resource as base resource for query

(cherry picked from commit 8bb7475e4f)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-23 15:24:33 +03:00
Pepe Cano
f8cb0ccb71 [v11.3.x] Alerting Docs: Update Alert rule and Notification Templating (#95242)
Alerting Docs: Update Alert rule and Notification Templating (#94069)

* Update links to the new location of the Templates intro page

* Set alert rule template structure

* Update the `Template notifications` structure/sidebar

* Move examples to examples pages

* Update menu titles and URL paths

* WIP reference

* added intro to examples.md

* reference page section intros

* examples title

* Template

* Continue Alert Template Reference

* example sections

* Almost finish with Reference page

* weight pages

* WIP - template variables Intro

* Edits Alert rule templates + Differences with notification templates

* examples-draft-2

* how to map annotations to notif templates

* examples v2

* moved example

* Continue Template annotations and labels

* Preview annotation templates

* Complete `Template annotations and labels`

* Update `Differences with notification templates`

* Polish a bit `Differences with notification tempaltes`

* added logic examples to `Examples`

* Finish sharing Template language

* Minor: set `anchor` link

* Minor edit

* Minor edit

* Minor changes

* Template language changes

* Document missing functions for alert rule templates

* 'Examples' v3

* `Examples` v3.1

* `Examples` v3.2

* added context/intro to `Examples`

* added a how to section to `Examples`

* moved legacy info in `Examples`

* added examples, sections in `Examples`

* formatting

* examples v5

* examples v5.1

* Complete update to `Notification template reference`

* Update `$values` description

* moved steps to `index`

* fixed urls

* removed section in `examples`

* added refs

* fixed urls

* refs fix

* blended the use case into the explanation

* Notification template reference: Minor readibility changes

* Edit `$value` in Alert rule template reference

* Edit `Manage notification templates

* links to ref and lang pages

* Minor copy changes

* Edit Template annotation overview + Prepare Template notifications overview

* `Select` vs `Choose`

* Template Overview

* Fix `heading` does not match `title`

* examples v6

* examples v6.1

* Fix spell errors

* Run `prettier --write` to fix md format errors

* examples v7

* examples v7.1

* examples v7.2

* examples v7.4

* examples v7.5

* examples v7.6

* all pretty, no pity

* Update alert rule examples

* Complete `Labels and annotations template examples`

* Minor changes

* Use `.` notation instead of `index` in examples

* rename `extendeddata` to `notificationdata`

* Complete Notification examples

* minor changes

* Set `go` language when displaying template examples

* Revert "minor changes"

This reverts commit f647c55c87.

* Update example and admonition for consistency

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

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

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

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

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

* Update docs/sources/shared/alerts/template-language.md

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

* Update docs/sources/shared/alerts/template-language.md

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

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

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

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

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/language.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/_index.md

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

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

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

* Update docs/sources/alerting/alerting-rules/templates/examples.md

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

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

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

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

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

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

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

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

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

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

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

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

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

* use `add` instead of `enrich`

* fix prettier content errors

* minor copy change

* Specify which Alert properties are exclusive to Grafana-managed alerts

* Use `Monitor` instead of `Meta monitoring`

* Be more detailed about notifation template limitations

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
(cherry picked from commit 813632dff1)
2024-10-23 13:03:58 +02:00
grafana-delivery-bot[bot]
f702577e83 [v11.3.x] format datasources list with columns (#95234)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2024-10-23 10:07:21 +01:00
grafana-delivery-bot[bot]
b8c43bcf3d [v11.3.x] Alerting docs: Update Labels and Annotations to detail use cases (#95221)
Alerting docs: Update `Labels and Annotations` to detail use cases (#95213)

* Alerting docs: Update `Labels and Annotations` to detail use cases

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

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

---------

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

Co-authored-by: Pepe Cano <825430+ppcano@users.noreply.github.com>
2024-10-23 09:07:06 +02:00
grafana-delivery-bot[bot]
d865fa64ce [v11.3.x] Docs: Add what's new video (#95210)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-22 16:43:14 -04:00
Kevin Yu
a292f838fe fix changelog (#95208) 2024-10-22 13:09:39 -07:00
github-actions[bot]
50c5d806c1 Release: 11.3.0 (#95196)
* Update changelog

* Update version to 11.3.0

* bump @grafana/plugin-configs from 11.3.0-pre to 11.3.0

* 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>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-10-22 12:39:12 -07:00
grafana-delivery-bot[bot]
6d5fa7b7a0 [v11.3.x] Docs: Add Correlations entry to what's new (#95172)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-22 10:58:26 -04:00
grafana-delivery-bot[bot]
035f6dde73 [v11.3.x] Canvas: Fix data links target (#95171)
Canvas: Fix data links target (#95113)

(cherry picked from commit b2e53997e2)

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-10-22 17:54:54 +03:00
grafana-delivery-bot[bot]
494ddad79d [v11.3.x] Azure Monitor: Support metric namespaces fallback (#95155)
Azure Monitor: Support metric namespaces fallback (#94722)

* Update display names

* Update multi-resource types

* Update default metric namespace list

* Initialise namespace list with fallback namespaces

* Add test

* Update test

(cherry picked from commit 986bd2f9f8)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-22 16:39:56 +03:00
grafana-delivery-bot[bot]
2e81653b68 [v11.3.x] Anonymous User: Adds validator service for anonymous users (#94994)
Anonymous User: Adds validator service for anonymous users (#94700)

(cherry picked from commit 3438196010)

Co-authored-by: lean.dev <34773040+leandro-deveikis@users.noreply.github.com>
2024-10-22 09:26:00 -03:00
grafana-delivery-bot[bot]
6924b9641a [v11.3.x] Alerting: Fix overflow for long receiver names (#95133)
Alerting: Fix overflow for long receiver names (#95064)

(cherry picked from commit 94f5e21493)

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-10-22 14:23:38 +02:00
grafana-delivery-bot[bot]
f68938c842 [v11.3.x] DashboardScene: Re-add support for default datasource var (#95138)
DashboardScene: Re-add support for default datasource var (#94806)

re-add support for default datasource var

(cherry picked from commit 96893aef2a)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-10-22 13:52:01 +03:00
grafana-delivery-bot[bot]
c426f12df7 [v11.3.x] DashboardScene: Rerender dashboard links on timerange change (#95140)
DashboardScene: Rerender dashboard links on timerange change (#94570)

* fix

* refactor

* refactor

(cherry picked from commit aaba5a43bd)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-10-22 13:49:07 +03:00
grafana-delivery-bot[bot]
bbc76071b5 [v11.3.x] DashboardScene: Update timerange in datalinks on change (#95137)
DashboardScene: Update timerange in datalinks on change (#94419)

* fix types

* mods

* refactor

* refactor

(cherry picked from commit 516e0cf7e2)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-10-22 13:27:29 +03:00
grafana-delivery-bot[bot]
ca7156d411 [v11.3.x] DashboardScenes: Fix missing query options in library panels (#95132)
DashboardScenes: Fix missing query options in library panels (#94808)

Fix missing query options in library panels

(cherry picked from commit d608668335)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2024-10-22 13:09:16 +03:00
grafana-delivery-bot[bot]
8e7ba6f123 [v11.3.x] Docs note on Cross-account observability permissions for CW datasource (#95125)
Co-authored-by: Jara Suárez de Puga García <jara.suarezdepuga@grafana.com>
2024-10-22 10:07:02 +01:00
grafana-delivery-bot[bot]
6e0e8d0370 [v11.3.x] Loki query editor: update CompletionDataProvider time range when it changes (#95127)
Loki query editor: update CompletionDataProvider time range when it changes (#94905)

* Loki query editor: update CompletionDataProvider time range when it changes

* CompletionDataProvider: update test and add regression

* Formatting

* Completion Data Provider: clear cache when the time range changes

* Completion Data Provider: specifically test for undefined values vs empty string

(cherry picked from commit 89c215a9ff)

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2024-10-22 12:06:54 +03:00
grafana-delivery-bot[bot]
073436f2f8 [v11.3.x] [docs] fix provisioning folder name (#95101)
Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
fix provisioning folder name (#95099)
2024-10-21 23:43:52 +03:00
grafana-delivery-bot[bot]
367c82bd51 [v11.3.x] BarChart: Skip formatting null-valued ticks (#95094)
BarChart: Skip formatting null-valued ticks (#94935)

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

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-10-21 22:48:13 +03:00
grafana-delivery-bot[bot]
a2db7105a9 [v11.3.x] Docs: What’s new & Upgrade guide v11.3 (#95088)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-10-21 15:20:12 -04:00
grafana-delivery-bot[bot]
bdf41feda9 [v11.3.x] Alerting: Fix remote Alertmanager readiness check path (#95066)
Alerting: Fix remote Alertmanager readiness check path (#95063)

(cherry picked from commit 4f8f82f5f1)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2024-10-21 18:45:49 +03:00
grafana-delivery-bot[bot]
aa8c58abd0 [v11.3.x] Alerting: Fix templates editing validation (#94963)
* Alerting: Fix templates editing validation (#94960)

Fix title validation when editing template files

(cherry picked from commit 5548e5976b)

* Adjust tests

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
2024-10-21 10:52:10 +02:00
grafana-delivery-bot[bot]
48d083d495 [v11.3.x] Chore: Fix population of details when converting from errutil errors to K8s error (#94998)
Chore: Fix population of details when converting from errutil errors to K8s error (#94996)

(cherry picked from commit 672d5f92f2)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-18 23:11:44 +03:00
grafana-delivery-bot[bot]
e0da40ea8c [v11.3.x] CloudWatch: Interpolate region in log context query (#94990)
CloudWatch: Interpolate region in log context query (#94930)

CloudWatch: interpolate region in log context query
(cherry picked from commit fd5f351a6f)

Co-authored-by: Isabella Siu <Isabella.siu@grafana.com>
2024-10-18 14:25:21 -04:00
grafana-delivery-bot[bot]
aba5388a42 [v11.3.x] Alerting: Fix time-interval conversion to return bad request if payload is incorrect (#94999)
Alerting: Fix time-interval conversion to return bad request if payload is incorrect (#94995)

(cherry picked from commit 00bb3215cb)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-18 20:35:15 +03:00
Isabel Matwawana
48ce1636bd Revert "[v11.3.x] Revert some scenes documentation" (#94984) 2024-10-18 11:42:32 -04:00
Josh Hunt
71e980ee9a bump whatsnew url (#94982) 2024-10-18 18:32:07 +03:00
grafana-delivery-bot[bot]
060846d056 [v11.3.x] Dashboards: Links to explore should respect subpath (#94975)
Dashboards: Links to explore should respect subpath (#94525)

* Links to explore should respect subpath

* Change to using assureBaseUrl

* Change back to normal single quotes

(cherry picked from commit 315778227b)

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
2024-10-18 17:38:26 +03:00
Sam Jewell
df57ba1b70 [v11.3.x] ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability (#94955)
ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability (#94942)

* disable sql expressions

remove duckdb ref

* Run `make update-workspace`

---------

Co-authored-by: Scott Lepper <scott.lepper@gmail.com>
(cherry picked from commit ea71201ddc)
2024-10-18 12:46:53 +01:00
grafana-delivery-bot[bot]
4a800ace30 [v11.3.x] Docs: Update Grafana-Managed Recording Rule docs (#94908)
Docs: Update Grafana-Managed Recording Rule docs (#94895)

* Config ini section

* Extend header

* Drop hysteresis line which doesnt apply to recording rules

* Touch up evaluation behavior section

* Dissolve incorrect/unrelated section

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

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

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

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

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

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

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

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

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

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

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

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

* Run linter

---------

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

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-10-17 16:43:29 -05:00
grafana-delivery-bot[bot]
a577031ba9 [v11.3.x] CI: Additional changes for +security versions (#94923)
CI: Additional changes for +security versions (#94854)

* Build: Fix docker manifest create not using correct IMAGE_TAG

* Support publishing security versions of NPM packages

---------

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

Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-17 17:12:44 -03:00
grafana-delivery-bot[bot]
efeb05386b [v11.3.x] DataLinks: Fix onClick functionality (#94907)
DataLinks: Fix onClick functionality (#94815)

* fix: add onclick functionality back to DataLinks in VizPanelFooter

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
(cherry picked from commit 5fe5e8a5a6)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2024-10-17 20:27:29 +03:00
grafana-delivery-bot[bot]
1ac972f086 [v11.3.x] Revert some scenes documentation (#94903)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-17 17:12:20 +01:00
grafana-delivery-bot[bot]
4590698e10 [v11.3.x] Alerting: Update texts for gm rr in the form (#94886)
Alerting: Update texts for gm rr in the form (#94844)

* Update texts for gm rr in the form

* fix translations

* Fix test

* address review comments

* address review comments - part2

* translations

* update docs for new term: output

(cherry picked from commit 1860737117)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-10-17 16:29:16 +02:00
grafana-delivery-bot[bot]
ab368bfb06 [v11.3.x] Alerting: Update docs for grafana recording rules (#94841)
Alerting: Update docs for grafana recording rules (#94811)

* update docs for grafana recording rules

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

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

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

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

* remove notes

* fix note tag

* update note for grafana-managed feature toggle

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

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

---------

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-10-17 11:14:03 +02:00
grafana-delivery-bot[bot]
489c9db173 [v11.3.x] Geomap: Fix tooltip positioning when screen is scrolled (#94842)
Geomap: Fix tooltip positioning when screen is scrolled (#94827)

* account for y-scrolling when positioning geomap tooltip

* remove config import

(cherry picked from commit 241dca57cf)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-17 12:02:13 +03:00
grafana-delivery-bot[bot]
8bbf0a1869 [v11.3.x] Update Pyroscope data source for Exlore Profiles (#94832)
Update Pyroscope data source for Exlore Profiles (#94825)

* Update Pyroscope data source for Exlore Profiles

* Update docs/sources/datasources/pyroscope/query-profile-data.md

* Update docs/sources/datasources/pyroscope/query-profile-data.md

(cherry picked from commit e8f23bb2cf)

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-10-16 20:57:07 -04:00
grafana-delivery-bot[bot]
8b8a67fad6 [v11.3.x] [DOC] Add streamingEnabled to Tempo ds docs (#94830)
[DOC] Add streamingEnabled to Tempo ds docs (#94751)

* Add streamingEnabled to Tempo ds docs

* Update docs/sources/datasources/tempo/configure-tempo-data-source.md

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

---------

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

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2024-10-16 16:53:37 -04:00
grafana-delivery-bot[bot]
2e956696a4 [v11.3.x] GCM: Time field naming (#94819)
GCM: Time field naming (#94548)

* Name time field correctly

* Update tests

* Lint

(cherry picked from commit 7c79f8f7a5)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-10-16 18:34:50 +03:00
grafana-delivery-bot[bot]
d58468b60b [v11.3.x] Plugins: Skip install errors if dependency plugin already exists (#94718)
Plugins: Skip install errors if dependency plugin already exists (#94710)

* skip install errors if dependency plugin already exists

* add test

(cherry picked from commit f97f489c2c)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-10-16 13:13:41 +03:00
Kevin Minehart
d784d370d3 [v11.3.x] CI: Support more version formats in publishing (#94750)
CI: Support more version formats in publishing (#94575)

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

(cherry picked from commit 7a2edd35d5)
2024-10-15 13:57:07 -05:00
grafana-delivery-bot[bot]
d4beddfb0e [v11.3.x] Docs: Update alerting notifications documentation (#94733)
Docs: Update alerting notifications documentation  (#93944)

* add new permissions and fixed roles

* Apply suggestions from code review

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

* address comments

* add actions to complete list

* fmt

---------

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

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-15 11:20:31 -04:00
grafana-delivery-bot[bot]
ae3419cd79 [v11.3.x] Folders: Correctly show new folder button under root folder (#94713)
Folders: Correctly show new folder button under root folder (#94687)

show new folder button under root folder if nested folders are disabled and user has the right perms

(cherry picked from commit 284c2d6f71)

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-15 13:05:13 +03:00
grafana-delivery-bot[bot]
65c759c76a [v11.3.x] Fix list indentation to ensure continuous numbering (#94696)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Fix list indentation to ensure continuous numbering (#94692)
2024-10-14 19:27:48 +01:00
grafana-delivery-bot[bot]
e6475b80c2 [v11.3.x] Alerting: Use advanced options when query params are not transformable (#94670)
Alerting: Use advanced options when query params are not transformable (#94588)

* Use advanced options when query params are not transformable

* Update public/app/features/alerting/unified/components/rule-editor/query-and-alert-condition/QueryAndExpressionsStep.tsx

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
(cherry picked from commit fb5fb76ad1)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-10-14 12:16:36 +02:00
grafana-delivery-bot[bot]
749714fe50 [v11.3.x] Create strategies-for-upgrading-grafana (#94635)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-10-11 17:33:50 +02:00
grafana-delivery-bot[bot]
e1a4fcda48 [v11.3.x] fix missing hyperlink to permissions page in docs (#94630)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Vishal N <vnaccounts@tutanota.com>
fix missing hyperlink to permissions page in docs (#94077)
2024-10-11 10:40:01 -04:00
grafana-delivery-bot[bot]
9af2af8b9f [v11.3.x] docs: added configure structure and youtube video link (#94629)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Señor Performo - Leandro Melendez <54183040+srperf@users.noreply.github.com>
2024-10-11 10:30:42 -04:00
Jack Baldry
50de92f873 Revert Sharing documentation changes (#94585)
Fix Sharing page aliases (#94118)"
2024-10-11 14:58:36 +01:00
grafana-delivery-bot[bot]
2a7d8279a2 [v11.3.x] OrgSync: Do not set default Organization for a user to a non-existent Organization (#94613)
OrgSync: Do not set default Organization for a user to a non-existent Organization (#94537)

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

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

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2024-10-11 15:44:17 +03:00
grafana-delivery-bot[bot]
f5d29152c9 [v11.3.x] SSO: Fix client side validations for LDAP (#94596)
SSO: Fix client side validations for LDAP (#94561)

* fix client side validations for LDAP

* add translations for new messages

* simplify code in isInvalidField()

(cherry picked from commit 0bd3ad1d5a)

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2024-10-11 13:04:31 +03:00
grafana-delivery-bot[bot]
c938b751cf [v11.3.x] Alerting: Fix detail view not showing instances nor history tab (#94586)
Alerting: Fix detail view not showing instances nor history tab (#94424)

* Fix detail view not showing instances nor history tab

* small refactor

* Update public/app/features/alerting/unified/hooks/useCombinedRule.ts

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* refactor

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
(cherry picked from commit 3924751827)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-10-11 11:12:17 +03:00
grafana-delivery-bot[bot]
f24f59225d [v11.3.x] Alerting: Fix getSimpleConditionFromExpressions (#94584)
Alerting: Fix getSimpleConditionFromExpressions (#94516)

fix getSimpleConditionFromExpressions

(cherry picked from commit 419598c745)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-10-11 11:07:16 +03:00
grafana-delivery-bot[bot]
5f7e46f886 [v11.3.x] Explore metrics: set options directly because of scenes error when options not set (#94571)
Explore metrics: set options directly because of scenes error when options not set (#94284)

* scenes error when options not set

* add all of the options that are updated in onOptionsChange

* add options to all the other places we are building timeseries panels

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/percentiles.ts

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

* remove activation handlers and unused code

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/simple.ts

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

* Update public/app/features/trails/AutomaticMetricQueries/graph-builders/percentiles.ts

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

---------

Co-authored-by: Nick Richmond <5732000+NWRichmond@users.noreply.github.com>
Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
(cherry picked from commit ce857c2680)

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-10-10 20:35:08 +03:00
Scott Lepper
a3764ebeba [Search] fix: add and delete (#94438)
[search] fix: add and delete from index
2024-10-08 16:17:31 -04:00
Karl Persson
2d0ea60017 ServiceAccounts: Run migration in batches (#94429)
* ServiceAccounts: Run migration in batches
2024-10-08 19:53:23 +02:00
Scott Lepper
c2fb2dcfbe wire up unified search from the ui; add basic search support (#94358)
* wire up search from the ui;  add basic search support
2024-10-08 13:09:56 -04:00
Ieva
8cade5c550 Role mapping: Add new query parameter to docs (#94413)
* small doc addition

* swagger gen

* pr feedback
2024-10-08 17:53:21 +01:00
Ezequiel Victorero
19844220db Playlists: Remove from menu for users without permissions (#94403) 2024-10-08 13:04:18 -03:00
Lucy Chen
e1067b817d ShareDrawer: Export CTA UI tweaks (#94348)
change arrow size
2024-10-08 11:57:13 -04:00
Mihai Doarna
4bbae5eb0a LDAP: Render root CA and client cert as text fields (#94382)
render root CA and client cert as text fields
2024-10-08 18:54:34 +03:00
renovate[bot]
546d1517fa Update dependency @grafana/aws-sdk to v0.5.0 (#94416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 16:37:56 +01:00
Scott Lepper
52b70ca976 Grafana indexing poc - load and watch index (#93843)
* list resources and load into index
* watch for changes and update index
2024-10-08 09:43:23 -04:00
renovate[bot]
0e13719ec6 Update dependency rudder-sdk-js to v2.48.19 2024-10-08 13:27:39 +00:00
Nick Richmond
ff7a96d60e ExploreMetrics: Ensure compatibility with Incremental Querying (#94355)
fix: use unique refs in breakdown panels
2024-10-08 09:15:07 -04:00
Matheus Macabu
96384b5181 CloudMigrations: cover cases where library panel has no folder (#94405) 2024-10-08 15:14:23 +02:00
Haris Rozajac
ee65f89533 Query Library: Enhance user data (#94231)
* Enhance user data

* Remove irrrelevant logic outside of try block

* Encode user uid for url
2024-10-08 07:12:33 -06:00
Piotr Jamróz
c6387854c5 TraceView: Fix icon background after making a copy of an attribute (#94402)
Fix icon color after making a copy
2024-10-08 15:09:06 +02:00
renovate[bot]
f2093c9f05 Update dependency react-dropzone to v14.2.9 2024-10-08 13:01:24 +00:00
Diego Augusto Molina
0cc90f2492 Chore: Add Makefile target to efficiently lint only locally changed Go files (#94228)
* add Makefile target to efficiently lint only locally changed files

* fix xargs usage; only run if Go files changed
2024-10-08 12:47:33 +00:00
Esteban Beltran
84554735b0 Improve levitate detect breaking changes pipeline (#94391)
* Update .github/workflows/detect-breaking-changes-levitate.yml

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

---------

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-10-08 15:45:54 +03:00
Andres Martinez Gotor
02f5e1f930 Add Sandbox settings feature flag (#94388) 2024-10-08 13:38:54 +01:00
renovate[bot]
5b7ae2bb93 Update dependency rc-slider to v11.1.7 2024-10-08 12:30:04 +00:00
renovate[bot]
8fbd8eabec Update dependency @types/node to v20.16.11 2024-10-08 11:48:39 +00:00
kay delaney
1d244ae1ec Chore: Rewrite TraceView css using object styles (#87621) 2024-10-08 14:39:22 +03:00
Gabriel MABILLE
b90e09e966 Fix: Deduplicate OrgID in SA logins (#94378)
* Fix: Deduplicate OrgID in SA logins
2024-10-08 13:35:08 +02:00
renovate[bot]
33326c5a9e Update dependency @types/diff to v5.2.3 2024-10-08 11:22:41 +00:00
renovate[bot]
1e3009e665 Update dependency @reduxjs/toolkit to v2.2.8 2024-10-08 10:45:43 +00:00
renovate[bot]
7977aa6a84 Update dependency @grafana/scenes to v5.18.3 2024-10-08 09:55:34 +00:00
Mihai Doarna
501f1bc7a9 LDAP: Render bind password as a secret input field (#94376)
render bind password as a secret input field
2024-10-08 12:54:16 +03:00
renovate[bot]
6190499f03 Update dependency moment-timezone to v0.5.46 (#94331)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-08 10:04:06 +01:00
Misi
bd7850853e Auth: Attach external session info to Grafana session (#93849)
* initial from poc changes

* wip

* Remove public external session service

* Update swagger

* Fix merge

* Cleanup

* Add backgroud service for cleanup

* Add auth_module to user_external_session

* Add tests for token revocation functions

* Add secret migration capabilities for user_external_session fields

* Cleanup, refactor to address feedback

* Fix test
2024-10-08 11:03:29 +02:00
Jo
9eea0e99fc Chore: Use UIDs as identifiers for teams frontend (#94345)
* Team frontend now uses UIDs as identifiers. Safe to revert
2024-10-08 09:48:35 +02:00
Jo
945dd052b1 Fix: Ensure SA migrations doesn't hit migrated SAs if rerun (#94347)
* ensure mig doesn't hit migrated SAs if rerun

* Fix small issue with the test

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-10-08 09:45:14 +02:00
Victor Marin
f70fefc67c DashboardScene: Fix dependencies on field overrides (#94335)
fix deps on field overrides
2024-10-08 08:25:42 +03:00
Victor Marin
a63a271f88 DashboardScene: Fix row actions removing behavior on second update (#94333)
fix row actions removing behavior on second update
2024-10-08 08:25:29 +03:00
Yuri Tseretyan
b8df574aba Alerting: Support optimistic concurrency in notification policies service (#93932)
* update notification policy provisioning service to support optimistic concurrency
* rewrite tests and include concurrency tests
2024-10-08 00:09:02 +03:00
Jev Forsberg
0e8fa1f5f8 CI: Remove redundant FE and BE tests from release pipeline (#94173)
baldm0mma/remove_tests/ remove fe and be tests
2024-10-07 13:55:17 -06:00
Yuri Tseretyan
4c1cb79069 Alerting: Add access control to receiver status API (#94287) 2024-10-07 15:21:29 -04:00
Ezequiel Victorero
cc40211f71 Chore: Update api docs (#92616) 2024-10-07 14:49:58 -03:00
Drew Slobodnjak
3e583ff423 VizRepeater: Prevent opposite scrollbar (#94230)
* VizRepeater: Prevent opposite scrollbar

* Update packages/grafana-ui/src/components/VizRepeater/VizRepeater.tsx

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>

* Update packages/grafana-ui/src/components/VizRepeater/VizRepeater.tsx

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>

---------

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-10-07 10:05:09 -07:00
grafana-pr-automation[bot]
45eb292a74 I18n: Download translations from Crowdin (#94343) 2024-10-07 17:38:59 +01:00
Brendan O'Handley
2113c13e6e Explore metrics: Add bookmarks empty state (#94291)
* add empty state component for bookmarks

* translations

* remove image, update text

* all text
2024-10-07 10:59:06 -05:00
renovate[bot]
1545a58d3c Update dependency @grafana/scenes to v5.18.2 (#94321)
* Update dependency @grafana/scenes to v5.18.2

* fix e2e test

* update e2e test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-07 16:04:20 +01:00
Arati R.
ea5cf7c51f Unified Storage /Folders: Allow Unified Storage subfolders creation (#94327)
* Add parents field to folder DTO
* Allow subfolder creation when folder flag is enabled
* Update UnstructuredToLegacyFolder
* Include parents field when creating folder
2024-10-07 16:48:56 +02:00
renovate[bot]
0d67b5a6e9 Update dependency jest-fail-on-console to v3.3.1 2024-10-07 14:48:24 +00:00
Ieva
d7aca7d0fe Role mapping: Add group_mapping_uid column to user_role table (#93810)
* add group_mapping_uid column to user_role table

* add group mapping UID to user role struct
2024-10-07 15:47:16 +01:00
jackyin
63bdbb67fc SubMenu: Fix expanding sub menu items on touch devices (#93208)
* click more in mobile phone

* use stopPropagation stop event

* delete log

* delete inspect click and add stopPropagation

* bug fix

* fix unit tests

* fix e2e tests

* fix old-arch tests

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-07 15:22:18 +01:00
grafana-pr-automation[bot]
1a3365d99b I18n: Download translations from Crowdin (#94317)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-07 17:19:19 +03:00
renovate[bot]
72aa6d6e28 Update dependency i18next to v23.15.2 2024-10-07 14:08:19 +00:00
Brendan O'Handley
aefe08f738 Explore metrics: Add limit for adhoc filters options in providers functions (#94036)
* add limit for adhoc filters in providers functions

* add comments to describe function

* return early if filtersVariable is not an instance of AdHocFiltersVariable

* update function comments

* add tests to confirm the providers are limited to 10000
2024-10-07 09:06:50 -05:00
Lars Stegman
f9361bf5bf PageHeader: Fill title container width (#94213)
page-header title: flex 1
2024-10-07 15:41:18 +02:00
Juan Cabanas
e2735dd9c8 ShareInternally: Remove menu item description (#94326)
Share internally menu item description removed
2024-10-07 10:36:36 -03:00
renovate[bot]
65fc40385a Update dependency eslint-plugin-react to v7.37.1 2024-10-07 13:33:33 +00:00
renovate[bot]
32c55555cb Update dependency @types/node to v20.16.10 2024-10-07 13:00:31 +00:00
Misi
0539ccf10d Auth: Fix redirection when auto_login is enabled (#94311)
* Fix for SAML auto login

* Fix for OAuth auto login
2024-10-07 14:59:00 +02:00
Matheus Macabu
6bd2f9f3ea CloudMigrations: remove duplicated import on test (#94322) 2024-10-07 15:32:52 +03:00
renovate[bot]
45835f7ea2 Update dependency @types/lodash to v4.17.10 2024-10-07 10:54:58 +00:00
Matheus Macabu
712314e832 CloudMigrations: create onPremToCloudMigrationsAlerts feature toggle in experimental stage (#94257)
CloudMigrations: create onPremToCloudMigrationsAlerts feature toggle in experimental stage

This feature toggle requires the `onPremToCloudMigrations` toggle to be enabled in order to work.

Given migration of Alerts (and child resources) is more critical, this flag was separated from
the main one.
2024-10-07 12:53:24 +02:00
Matheus Macabu
e89aef57cb CloudMigrations: wire ngalert to cloud migration service and add slicesext.Map helper (#94254)
* CloudMigrations: add slicesext.Map function to simplify dto creation

* CloudMigrations: wire ngalert to cloud migration service
2024-10-07 12:53:14 +02:00
Matheus Macabu
9af095d730 CloudMigrations: Add data types for alerts resources (#94251) 2024-10-07 12:52:31 +02:00
Dana Axinte
d88be2819d CloudMigrations: Store parent folder name in cloud_migration_resource table (#94009)
* use name in fe

* store parent folder name in local db

* clean up

* tiny test

* trial react

* rename to parent name

* go lint

* generate api and ts

* go tests

* rearrange

* clean

* update with suggestions from josh

* make library elements work

* updates from comments

* global migration types

* parent name for alter table
2024-10-07 11:35:08 +01:00
Arati R.
5a9bd1d1cf K8s/Folders: Fix folder create payload (#94273)
* Fix createdBy and updatedBy
* Fix refreshing permission cache
* Update created time
* Fix user identifier parsing
2024-10-07 13:32:25 +03:00
Ashley Harrison
d04dcb3da0 SingleTopNav: Fix tab order for docked menu (#94306)
fix tab order for docked menu when singleTopNav is enabled
2024-10-07 11:16:30 +01:00
renovate[bot]
0c8433c9e5 Update dependency @react-types/overlays to v3.8.10 2024-10-07 10:10:31 +00:00
renovate[bot]
b65fc7c74e Update dependency @grafana/scenes to v5.18.1 2024-10-07 10:09:35 +00:00
maicon
261be0facd UniStore: Evaluate Folder DTO attributes (#93968)
* UniStore: Evaluate Folder DTO attributes

* Handle AccessControl

* Reduce the number of parameters to newToFolderDto

* Detach Metadata helpers from HTTPServer

* Add tests

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-10-07 12:08:16 +02:00
renovate[bot]
5a7d6c104e Update dependency @grafana/faro-web-tracing to v1.10.2 2024-10-07 09:33:22 +00:00
Roberto Jiménez Sánchez
19c77eaae1 CloudMigrations: Fix traceability & HTTP Client initialisation (#94141)
* Add traceability to Migration Assistant feature

* Fix some compilation errors

* Fix lint issues

* Use async context

* Add trace for LibraryElements
2024-10-07 11:31:45 +02:00
Alex Khomenko
9680722b78 Dashboards: Switch to useParams hook (#94060)
* Update DashboardScenePage

* Update SoloPanelPage

* Update DashboardPage

* Cleanup

* Switch to useLocation

* Do not use location from history
2024-10-07 12:11:57 +03:00
Matheus Macabu
4bc7a35f56 UnifiedStorage: fix watcher test (#94301) 2024-10-07 12:07:48 +03:00
kay delaney
4569872048 Chore: Add tests for HelpWizard (#94271) 2024-10-07 10:02:01 +01:00
Jo
acd13e05ef Teams: Support team UIDs in APIs (#94011)
* support team UIDs in APIs

* unify middleware logic and add team tests

* add UID test to resource permissions

* remove unused middleware
2024-10-07 10:18:24 +02:00
Tim Mulqueen
413548806d add zendesk to enterprise ds list (#91751) 2024-10-07 11:10:20 +03:00
Georges Chaudy
03f55e5288 Unistore : Ensure Watch works in HA mode (#94120)
* Revert "Revert "Unistore : Ensure Watch works in HA mode." (#94097)"

This reverts commit 7c3fc2f261.

* make previous_resource_version nullable

* handle nil case
2024-10-07 10:01:53 +02:00
Alex Khomenko
3bda6c2c0a Routing: Use location from hooks (#94148)
* Update GrafanaRoute

* Update Silences

* Update PublicDashboardPage

* Cleanup

* Switch to the location from locationService

* Move location to render
2024-10-07 09:31:13 +03:00
Alex Khomenko
d730c66579 Routing: Remove useRouteMatch hook (#94152)
* Update useSilenceNavData.ts

* Update MuteTimings

* Update AppRootPage.tsx

* Cleanup props

* Remove empty file
2024-10-07 08:21:44 +03:00
Brandon
fbad76007d Alerting: Limit and clean up old alert rules versions (#89754) 2024-10-05 00:31:21 +03:00
Drew Slobodnjak
4ec75bcc60 Transformations: Show filter for single query (#94238) 2024-10-04 14:17:46 -07:00
Matthew Jacobson
099055e8a5 Alerting: Verify receiver permission read on rule create/update (#94286)
* Alerting: Verify receiver permission read on rule create/update
2024-10-04 23:52:38 +03:00
Yuri Tseretyan
27c7e33217 Alerting: Update permissions to reciever and template test API (#94282)
* add action "alert.notifications.receivers:test" to receiver creator

* update API permissions to accept new granular actions
2024-10-04 15:52:44 -04:00
renovate[bot]
03ff8a5cdb Update dependency @react-types/menu to v3.9.12 2024-10-04 19:06:30 +00:00
Drew Slobodnjak
d0abb08f31 Limit: Prevent negative limit (#94237) 2024-10-04 12:05:16 -07:00
renovate[bot]
797da67467 Update dependency @lezer/common to v1.2.2 2024-10-04 17:27:16 +00:00
renovate[bot]
a18482da38 Update dependency @grafana/scenes to v5.18.0 (#94281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 20:26:11 +03:00
Ivan Ortega Alba
d09017f7a2 Dashboard Scene: Sync variable state with TemplateSrv result (#93327)
* Generate options for variables through TemplateSrv

* Add refresh when object changes

* Remove unnecesary static function

* Extract logic

* Add extra test case when variable changes and refresh event is triggered

* bring back old logic, query options should not live in the dashboard json

* add missing change

* Add support to keep variable options in query

* tests

* move refreshEvent to DashboardVariableDependency

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Victor Marin <victor.marin@grafana.com>
2024-10-04 20:19:18 +03:00
Misi
2b320b0f9e Auth: Only apply redirection if the user is signed in (session storage redirection) (#94279)
Fix: do not redirect if the user is not signed in
2024-10-04 20:06:06 +03:00
renovate[bot]
6344eeac3b Update dependency @grafana/faro-web-sdk to v1.10.2 2024-10-04 16:52:13 +00:00
Torkel Ödegaard
938bc9c2cc DashboardScene: Update matcher options immutably (#93960) 2024-10-04 17:39:35 +02:00
Haris Rozajac
84cee7cab6 Query Library: Vertical space between rows; change "Run query" button color (#94177) 2024-10-04 09:38:23 -06:00
Gabriel MABILLE
fe3ada4a6c Revert "AuthN: Managed plugin Service Accounts general availability" (#94270)
Revert "AuthN: Managed plugin Service Accounts general availability (#93384)"

This reverts commit 943525391e.
2024-10-04 17:28:24 +02:00
renovate[bot]
b70650e098 Update dependency @grafana/faro-web-sdk to v1.10.2 2024-10-04 15:24:27 +00:00
Mihai Doarna
82a5913dfa SSO: Fix secrets migration for LDAP in SSO settings (#94252)
fix secrets migration for LDAP in SSO settings
2024-10-04 18:18:53 +03:00
Ieva
6eeef432de RBAC: Add dash and folder action sets where they are missing (#92832)
* add dash and folder action sets where they are missing

* remove an empty line, try to make linting pass
2024-10-04 16:03:04 +01:00
renovate[bot]
77e1f222a0 Update babel monorepo to v7.25.7 (#94262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 15:58:12 +01:00
Josh Hunt
c7c66ccf4a BrowseDashboards: Limit the type for folder parents to just a few fields (#94244)
* BrowseDashboards: Limit the type for folder parents to just title, uid, and url

* export type, use in buildNavModel
2024-10-04 17:32:50 +03:00
Ashley Harrison
e43e430e6a SingleTopNav: Move scopes selector to second bar (#94186)
move scopes selector to second bar
2024-10-04 15:31:28 +01:00
renovate[bot]
6ed3868921 Update dependency @emotion/css to v11.13.4 2024-10-04 14:22:51 +00:00
grafana-pr-automation[bot]
89b292f514 I18n: Download translations from Crowdin (#94261)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-04 17:21:48 +03:00
Ashley Harrison
40ad52fdbc SingleTopNav: Handle for non-scenes dashboards (#94198)
handle singleTopNav for non-scenes dashboards
2024-10-04 15:11:32 +01:00
Sergej-Vlasov
f32fe9a846 PanelEditor: add data provider when switching from non data panel (#94220)
* add data provider when switching from non data panel

* handle adding and cleaning up data provider in panel editor on panel switch

* add data provider check sin panel  editor tests
2024-10-04 15:05:52 +01:00
renovate[bot]
b2d930e079 Update dependency @tanstack/react-virtual to v3.10.8 2024-10-04 14:02:27 +00:00
kay delaney
b5821ef473 PanelSearch: Add support for rows & repeats (#94243)
* PanelSearch: Add support for rows & repeats

* Show message if there are no matches
2024-10-04 15:01:01 +01:00
renovate[bot]
94444319ec Update React Aria 2024-10-04 13:59:26 +00:00
Sonia Aguilar
4c27b2c59d Alerting: Fix default value for input in simple condition (#94248)
fix default value for input
2024-10-04 16:57:29 +03:00
renovate[bot]
93b8243da7 Update dependency @grafana/experimental to v2 (#93919)
* Update dependency @grafana/experimental to v2

* add data-testid to old save button so it works properly in e2e test

* fix azure monitor e2e tests

* use raw selectors

* remove .only

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-04 14:21:10 +01:00
Jo
544b5f905c Anonymous: Fix anonymous cache ignoring device limit evaluation (#94218)
* ensure cache contains the evaluation result for device limit

* add device limit errors and warnings

* fix lint
2024-10-04 15:20:55 +02:00
renovate[bot]
6dfe9aef95 Update dependency @grafana/scenes to v5.17.0 (#94249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 16:10:01 +03:00
Giuseppe Guerra
0db65d229e Plugins: Add Subresource Integrity checks (#93024)
* Plugins: Pass hashes for SRI to frontend

* Add SRI hashes to frontendsettings DTOs

* Add docstring

* TestSriHashes

* Fix typo

* Changed SriHashes to ModuleHash

* update loader_test compareOpts

* update ModuleHash error message

* Add TestModuleHash/no_module.js

* Add omitEmpty to moduleHash

* Add ModuleHash to api/plugins/${pluginId}/settings

* moved ModuleHash field

* feat(plugins): add moduleHash to bootData and plugin types

* feat(plugins): if moduleHash is available apply it to systemjs importmap

* Calculate ModuleHash for CDN provisioned plugins

* Add ModuleHash tests for TestCalculate

* adjust test case name

* removed .envrc

* Fix signature verification failing for internal plugins

* fix tests

* Add pluginsFilesystemSriChecks feature togglemk

* renamed FilesystemSriChecksEnabled

* refactor(plugin_loader): prefer extending type declaration over ts-error

* added a couple more tests

* Removed unused features

* Removed unused argument from signature.DefaultCalculator call

* Removed unused argument from bootstrap.DefaultConstructFunc

* Moved ModuleHash to pluginassets service

* update docstring

* lint

* Removed cdn dependency from manifest.Signature

* add tests

* fix extra parameters in tests

* "fix" tests

* removed outdated test

* removed unused cdn dependency in signature.DefaultCalculator

* reduce diff

* Cache returned values

* Add support for deeply nested plugins (more than 1 hierarchy level)

* simplify cache usage

* refactor TestService_ModuleHash_Cache

* removed unused testdata

* re-generate feature toggles

* use version for module hash cache

* Renamed feature toggle to pluginsSriChecks and use it for both cdn and filesystem

* Removed app/types/system-integrity.d.ts

* re-generate feature toggles

* re-generate feature toggles

* feat(plugins): put systemjs integrity hash behind feature flag

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-10-04 14:55:09 +02:00
Misi
153036be2e Docs: Add docs for configuring kc_idp_hint (#94226)
Add docs for configuring kc_idp_hint
2024-10-04 14:32:26 +02:00
Diego Augusto Molina
7d32d5eff4 Unistore: Reuse MySQL and Postgres Grafana core config instead of the object (#94223)
* Reuse MySQL and Postgres Grafana config instead of the object

- Only reuse the Grafana DB object for SQLite. Support for SQLite will be added in a different PR
- Fail when reusing the Grafana DB object if it is using DB instrumentation
- In the case that we have to reuse a Grafana DB with its instrumentation, fail with an error that describes a workaround
- Add regression tests to reproduce incident 2144

* remove temp file

* fix linter

* fix linter x2

* fix linter x3
2024-10-04 12:07:20 +00:00
Mihai Doarna
a82f102878 Auth: Promote ssoSettingsLDAP flag to public preview (#94242)
* promote ssoSettingsLDAP flag to public preview

* add generated file
2024-10-04 14:59:42 +03:00
Aaron Godin
458fc69616 IAM: Add test for AddDataSource managed permissions (#94113)
Add test for AddDataSource managed permissions and fix control flow issues
2024-10-04 06:35:25 -05:00
Ihor Yeromin
9801b92c3d Table: Fix table cell text jumping on hover (#93913)
fix(table): table cell text jumping on hover
2024-10-04 13:20:15 +02:00
linoman
e37b43117b SSO LDAP: Implement documentation (#94215)
* Add documentation for LDAP UI

* Add hyphen to string

* Polish writing

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-10-04 12:33:47 +02:00
Alexander Zobnin
5d724c2482 Zanzana: Initial dashboard search (#93093)
* Zanzana: Search in a background and compare results

* refactor

* Search with check

* instrument zanzana client

* add single_read option

* refactor

* refactor move check into separate function

* Fix tests

* refactor

* refactor getFindDashboardsFn

* add resource type to span attributes

* run ListObjects concurrently

* Use list and search in less cases

* adjust metrics buckets

* refactor: move Check and ListObjects to AccessControl implementation

* Revert "Fix tests"

This reverts commit b0c2f072a2.

* refactor: use own types for Check and ListObjects inside accesscontrol package

* Fix search scenario with low limit and empty query string

* more accurate search with checks

* revert

* fix linter

* Revert "revert"

This reverts commit ee5f14eea8.

* add search errors metric

* fix query performance under some conditions

* simplify check strategy

* fix pagination

* refactor findDashboardsZanzanaList

* Iterate over multiple pages while making check request

* refactor listUserResources

* avoid unnecessary db call

* remove unused zclient

* Add notes for SkipAccessControlFilter

* use more accurate check loop

* always use check for search with provided UIDs

* rename single_read to zanzana_only_evaluation

* refactor

* update go workspace

* fix linter

* don't use deprecated fields

* refactor

* fail if no org specified

* refactor

* initial integration tests

* Fix tests

* fix linter errors

* fix linter

* Fix tests

* review suggestions

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

* fix limit

* refactor

* refactor tests

* fix db config in tests

* fix migrator (postgres)

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-10-04 12:27:10 +02:00
Arati R.
f403bc57d5 K8s/Folders: Clear permissions cache on create (#94214)
* Clear user permissions cache after folder creation
* Use k8s client only for create
2024-10-04 11:26:36 +02:00
Sven Grossmann
a766b378d0 Explore Logs: Preinstall for onprem Grafana instances (#94221) 2024-10-04 11:15:29 +02:00
grafana-pr-automation[bot]
788ef7fec3 I18n: Download translations from Crowdin (#94210)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-04 10:00:30 +01:00
Ashley Harrison
d4bb8122cb SingleTopNav: Tweaks for mobile responsiveness (#94188)
tweaks for mobile responsiveness
2024-10-04 09:54:17 +01:00
Karl Persson
c7ca2bfcf5 ServiceAccounts: Remove permissions to service account when it is deleted (#93877)
* Service account: clean up permissions related to service accounts when deleted

* Add migration for deleting orphaned service account permissions

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-10-04 09:01:09 +02:00
Gabriel MABILLE
943525391e AuthN: Managed plugin Service Accounts general availability (#93384)
External Service Accounts: General availability
2024-10-04 08:48:38 +02:00
Levente Balogh
6096f46774 Plugin Extensions: Require meta-data to be defined in plugin.json during development mode (#93429)
* feat: add extensions to the backend plugin model

* feat: update the frontend plugin types

* feat(pluginContext): return a `null` if there is no context found

This will be necessary to understand if a certain hook is running inside a plugin context or not.

* feat: add utility functions for checking extension configs

* tests: fix failing tests due to the type updates

* feat(AddedComponentsRegistry): validate plugin meta-info

* feat(AddedLinksRegistry): validate  meta-info

* feat(ExposedComponentsRegistry): validate meta-info

* feat(usePluginComponent): add meta-info validation

* feat(usePluginComponents): add meta-info validation

* feat(usePluginLinks): add meta-info validation

* fix: only validate meta-info in registries if dev mode is enabled

* tests: add unit tests for the restrictions functionality

* tests: fix Go tests

* fix(tests): revert accidental changes

* fix: run goimports

* fix: api tests

* add nested app so that meta data can bested e2e tested

* refactor(types): extract the ExtensionInfo into a separate type

* refactor(extensions/utils): use Array.prototype.some() instead of .find()

* refactor(usePluginLinks): update warning message

* feat(usePluginExtensions()): validate plugin meta-info

* Wip

* fix(e2e): E2E tests for extensions

* fix(extensions): allow multiple "/" slashes in the extension point id

* fix(extensions/validators): stop validating the plugin id pattern

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-10-04 08:41:26 +02:00
Nathan Marrs
7188c13d22 ElasticSearch: Add keywords to plugin.json (#94174)
* add keywords

* add additional keywords
2024-10-04 01:52:19 +03:00
Haris Rozajac
2ea662854a QueryLibrary: Don't use description when generating name (#94236) 2024-10-03 16:24:39 -06:00
Todd Treece
a4d919c157 Chore: Update k8s.io dependencies to v0.31.1 (#93696) 2024-10-03 15:50:15 -04:00
Kyle Cunningham
a38d6e57c2 Get help: Make quality of life updates (#93594)
* Get help updates

* Remove beta badge

* Further cleanups

* Some updates

* Fix tests

* Prettier

* Update betterer results

* i18n

* i18n extraction

* Bettererest
2024-10-03 13:38:18 -05:00
Stephanie Hingtgen
4623a6471b SQLStore: Fix parseTime check (#94175) 2024-10-03 08:58:33 -05:00
Misi
ee8bb63d2d Auth: Replace jmespath/go-jmespath with jmespath-community/go-jmespath (#94203)
Replace jmespath/go-jmespath with jmespath-community/go-jmespath
2024-10-03 15:43:15 +02:00
Laura Benz
f92ef0e126 RestoreDashboards: Add link to dashboards browse view (#94000)
* feat: add button

* refactor: clean up

* feat: add tracking

* refactor: change button copy

* refactor: add payload to tracking

* refactor: add subURL

* refactor: user permissions

* refactor: group conditions

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-10-03 15:13:29 +02:00
Gilles De Mey
4224d05934 Alerting: Hoist routes for mute timings (#94201) 2024-10-03 14:41:11 +02:00
Ashley Harrison
87fd36aecf SingleTopNav: Add chevron and tooltip to menu trigger (#94199)
add chevron and tooltip to menu trigger
2024-10-03 13:20:32 +01:00
Joey
eb60773073 Tempo: Add deprecation notice for Aggregate By (#94050)
Add deprecation notice
2024-10-03 12:13:56 +01:00
Joao Silva
c04027919b Bookmarks: Turn feature toggle on by default (#94194) 2024-10-03 13:45:31 +03:00
Joey
75640a6ad3 Tempo: Update lezer-traceql version (#94197)
Update lezer-traceql version
2024-10-03 11:40:38 +01:00
grafana-pr-automation[bot]
cda3791d49 I18n: Download translations from Crowdin (#94196)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-03 11:22:17 +01:00
Arati R.
a42caa7a61 K8s/Folders: Fix tests for creating folders (#94192)
* Add feature toggle grafanaAPIServerTestingWithExperimentalAPIs
* Customise registration of FolderAPIBuilder for tests and fix tests
2024-10-03 12:11:40 +02:00
Matheus Macabu
1635a3cd67 CloudMigrations: Add support for migration of Library Elements (Panels) resources (#93898)
* CloudMigrations: create snapshots of Library Elements

* CloudMigrations: render library element resource in resources table

* CloudMigrations: create newtype with necessary fields for library element creation
2024-10-03 11:54:54 +02:00
Ashley Harrison
dd7f45011d SingleTopNav: Add toolbar to Page and replace usage of AppChromeUpdate (#94022)
* add page-level toolbar for actions

* handle explore

* fix panel edit sizing

* remove comments

* remove TOGGLE_BUTTON_ID

* undo alerting changes

* use fixed position header

* feature toggle Page changes

* add page context for alerting use cases

* simplify

* prettier...
2024-10-03 09:52:01 +01:00
Tobias Skarhed
e48d166c3e New Select: width auto sets width based on content (#93800)
* Add inline prop for AutoSizeInput

* Rename to autoSize

* Use conditional props and width auto

* remove variable

* Remove 100% max width
2024-10-03 11:45:22 +03:00
Alexander Zobnin
bd1741653d Annotations: Fix composite store read (#94158)
* Annotations: Fix composite store read

* Add test

* check error
2024-10-03 09:14:06 +02:00
Andres Martinez Gotor
4c4f7a3331 Chore: Restore permissions used to create plugins dir (#94139) 2024-10-03 09:09:54 +02:00
grafana-pr-automation[bot]
bcee44db5f I18n: Download translations from Crowdin (#94168)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-03 07:27:27 +03:00
Yuri Tseretyan
3fcc259703 Move CVE-2024-8118 to correct versions (#94167) 2024-10-02 17:24:46 -04:00
Isabella Siu
4be5ccaece Cloudwatch: Update grafana-aws-sdk (#94155)
Cloudwatch: update grafana-aws-sdk
2024-10-02 14:22:41 -04:00
Haris Rozajac
eb7573828e Query Library: Search and filter (#94038)
* Search by query text, pagination

* Support default filtering by active datasource; filter by datasource name; improve table display

* Cleanup

* Fix update and delete url paths

* Fix test

* Use Stack, remove uneccessary function wrapper

* Notify when something is wrong with a row, add interaction tracking

* i18n
2024-10-02 11:33:14 -06:00
grafana-delivery-bot[bot]
c38eab33f5 Release: update changelog for 11.2.2 (#94114)
* Update changelog

* add CVE to 11.2.1

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-02 12:46:10 -04:00
Timur Olzhabayev
0f5eaac6df Chore: Updating codeowners for plugins cli commands (#94136)
Updating codeowners for plugins cli commands
2024-10-02 18:35:25 +02:00
Misi
d3d5735098 Auth; Fix shourt url redirect when useSessionStorageForRedirection is enabled (#94163)
Fix shourt url redirect
2024-10-02 18:25:47 +02:00
Isabel Matwawana
fb3b13b567 Docs: Geomap visualization refactor (#94101)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-10-02 11:34:22 -04:00
Laura Benz
a0542e7307 RestoreDashboards: Fix restoring to 'Dashboards' (#94086)
* pairing WIP

* refactor: clean up

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-10-02 17:15:31 +02:00
Konrad Lalik
9fff736549 Alerting: Support k8s templates API (#92112)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-10-02 17:14:54 +02:00
Sonia Aguilar
fe656229c3 Alerting: Pluralize error tag (#94157) 2024-10-02 18:14:35 +03:00
Marcus Efraimsson
e22b510cd8 API Server: Fix extracting jaeger remote trace from incoming request (#93998) 2024-10-02 17:07:31 +02:00
Karl Persson
d75a9b6aeb User: Pass name to list users to filter out the correct one (#94153)
Pass name to list users to filter out the correct one
2024-10-02 17:02:32 +02:00
Gilles De Mey
41b175e7ae Alerting: Use useProduceNewAlertmanagerConfiguration for contact points (#88456) 2024-10-02 17:56:35 +03:00
Isabel Matwawana
02f608ed05 Docs: Fix Sharing page aliases (#94118)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-10-02 10:21:43 -04:00
Michael Derynck
97f480386f Alerting: Update OnCall integration url (#93407)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-10-02 16:13:55 +02:00
Kyle Brandt
a1556fded2 Prometheus: Suggestions - log parse errors and continue (#94143)
* Prometheus: Suggestions - log parse errors and continue
2024-10-02 13:29:45 +01:00
Sonia Aguilar
e80ef522bb Alerting: Hide query name when using simplified mode in the alert rule (#93779)
* Hide query name when using simplified mode in the alert rule

* rename hideName to hideRefId
2024-10-02 13:55:48 +02:00
kay delaney
dae492f6c8 PanelSearchLayout: Support repeat panels (#94140) 2024-10-02 12:27:27 +01:00
Diego Augusto Molina
658c79e1d5 Chore: fix initialization data race in infra usagestats (#94070)
fix initialization data race in usagestats
2024-10-02 07:30:44 -03:00
grafana-pr-automation[bot]
a7497ae846 I18n: Download translations from Crowdin (#94138)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-02 11:19:31 +01:00
Ashley Harrison
cf61ab3da2 SingleTopNav: Flip collapse arrows for better alignment (#94081)
flip megamenu arrows for better alignment
2024-10-02 11:08:34 +01:00
Misi
ddbbf8df4b Auth: Fix redirection in case of ERR_TOKEN_REVOKED (#94137)
Fix redirection in case of token revoked error
2024-10-02 12:08:25 +02:00
renovate[bot]
573ba9be18 Update dependency @grafana/scenes to v5.16.2 (#94082)
* Update dependency @grafana/scenes to v5.16.2

* fix e2e test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-02 10:58:24 +01:00
Erik Sundell
d6d51f0316 Plugin E2E: Add more api tests (#94073)
* add tests

* bump plugin-e2e

* use range

* update lock file
2024-10-02 11:55:04 +02:00
linoman
763163603c SSO LDAP: Bug-bashing follow-up changes (#94093)
* fix html encoding rendering

* Redirect to providers page

* Fix cert isEmpty

* Rework input fields into multiselect

* add disable button

* Rework MultiSelect design

* Remove prompt modal
2024-10-02 11:42:23 +02:00
Alexander Zobnin
3f6a64cc57 Navigation: Don't show "add new connection" if user has no permissions (#94058)
Navigation: Don't show "add new connection" if user does not have permissions
2024-10-02 10:02:28 +02:00
David Garcia
dd8c50ec12 FIX: typo in generic oauth org mapping json (#94117) 2024-10-02 07:34:23 +00:00
Alex Khomenko
f55f7f2634 Routing: Replace Redirect component with Navigate (#94072)
* Routing: Replace Redirect with Navigate

* Use replace state

* Update routes.tsx

* Fix test
2024-10-02 09:44:18 +03:00
Brendan O'Handley
28d9cc7310 Explore metrics: Fix bug that turns off otel experience when selecting otel variables (#94106)
fix bug that turns of otel experience when selecting otel variables
2024-10-01 15:09:39 -05:00
Kevin Minehart
26c3ed89a3 CI: upgrade grabpl v3.0.53 (#94112)
* upgrade grabpl to v3.0.53

* upgrade grabpl to v3.0.53
2024-10-01 21:03:38 +01:00
grafana-delivery-bot[bot]
518afa5a24 Release: update changelog for 11.1.7 (#94102)
* Update changelog
* Add CVE

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-10-01 15:26:27 -04:00
Yuri Tseretyan
2d89a27741 Update CHANGELOG.md (#94103)
Updates Changelog to include CVE to 10.3.11 and 10.4.10 versions
2024-10-01 15:03:34 -04:00
Georges Chaudy
7c3fc2f261 Revert "Unistore : Ensure Watch works in HA mode." (#94097)
Revert "Unistore : Ensure Watch works in HA mode. (#93428)"

This reverts commit 0a26c9e9ae.
2024-10-01 18:45:47 +00:00
Yuri Tseretyan
78290301f4 Alerting: Update GettableRuleGroupConfig and PostableRuleGroupConfig with missing fields supported by Prometheus (#94030) 2024-10-01 14:17:57 -04:00
grafana-delivery-bot[bot]
aa225a4450 Release: update changelog for 11.0.6 (#94098)
* Update changelog

* add alerting cve fix note

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
2024-10-01 17:57:14 +00:00
grafana-delivery-bot[bot]
74fa0af1c2 Release: update changelog for 10.4.10 (#94095)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-01 17:29:32 +01:00
grafana-delivery-bot[bot]
e0294b0b83 Release: update changelog for 10.3.11 (#94090)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-01 16:57:59 +01:00
Bogdan Matei
a87df0528b Prometheus: Interpolate vars in adhoc filters request (#94087)
* Interpolate vars in adhoc filters request

* interpolate variables on BE

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-10-01 18:33:06 +03:00
brendamuir
cbf8e7e679 Alerting docs: update that test functionality only for G Alertmanager (#94064)
* Alerting docs: update that test functionality only for G Alertmanager

* ran prettier

* fixed alphabetical order

* indentation

* format

* all pretty, no pity

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2024-10-01 17:28:26 +02:00
kay delaney
1b82595251 UI/AutoSizeInput: Fixes issue where controlledValue being null caused crash (#94078) 2024-10-01 16:02:26 +01:00
grafana-pr-automation[bot]
a9095b1dd1 I18n: Download translations from Crowdin (#94076) 2024-10-01 15:27:28 +01:00
Matthew Jacobson
f39c5ed9f7 Alerting: Improve Amazon SNS documentation (#93862)
* Alerting: Improve Amazon SNS documentation
2024-10-01 09:43:58 -04:00
Alex Khomenko
586c95654d Routing: Update more components using props.match to use hooks (#93918)
* RuleViewed: Get params from hook

* ProviderConfigPage: Use hooks for redux logic

* Update NewDashboardWithDS

* Update StorageFolderPage

* Update StoragePage

* Cleanup

* Update PublicDashboardPage

* Update RuleEditor

* Update BrowseFolderAlertingPage

* Update BrowseFolderLibraryPanelsPage

* Update SoloPanelPage

* Fix test

* Add useParams mocks

* Update ServiceAccountPage

* Simplify mocks

* Update SignupInvited

* Update Playlist pages

* Update AdminEditOrgPage

* Update UserAdminPage

* Update Silences

* Update BrowseDashboardsPage

* Update GrafanaModifyExport

* Update AppRootPage

* Remove useParams mock

* Update PublicDashboardsPages

* Cleanup

* Update PublicDashboardPage.test

* Cleanup

* Update PublicDashboardScenePage.test.tsx

* Update imports

* Revert AppRootPage changes

* Add back AppRootPage changes
2024-10-01 16:29:11 +03:00
Laura Benz
bc3e1df5e3 RestoreDashboards: Improve tracking (#93934)
feat: add tracking in DeleteModal
2024-10-01 15:27:25 +02:00
Laura Benz
6a30240f58 RestoreDashboards: Fix 'Dashboards' typo in folder picker (#94046)
fix: typo
2024-10-01 15:25:04 +02:00
Alexa V
5cc11bd1a1 Dashboard Scene: Improve Angular experience (#92847)
In Dashboard Scene: 

* Display a warning in the panel header when rendering an angular panel
* Display a warning in the dashboard when rendering one or more angular panels
* Display a button to migrate in the dashboard banner
* Display a button to migrate in the panel editor
* Display a button to "Edit options" when it is an Angular panel, to open the panel JSON inspector to be able to edit the options
* Add tests

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-10-01 15:02:13 +02:00
Juan Cabanas
6c91b65aca ShareButton: Split copy link button and dropdown (#94020) 2024-10-01 09:46:32 -03:00
grafana-pr-automation[bot]
dc31bbb555 I18n: Download translations from Crowdin (#94065)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-01 14:24:52 +02:00
Matheus Macabu
821bb235b3 CloudMigrations: document and re-generate api for syncing (#94063)
* CloudMigrations: document frontend open-api generator steps

* CloudMigrations: re-run api generation
2024-10-01 14:09:42 +02:00
Arati R.
e399fe6d09 Folders: Set folder creation permission as part of legacy create (#94040)
* Add folder store to dashboard permissions
* Include folder store in annotation scope resolver
* Add folder store when initialising library elements
* Include folder store in search v2 service initialisation
* Include folder store in GetInheritedScopes
* Add folder store to folder permissions provider
* Include cfg, folder permissions in folder service
* Move setting of folder permissions for folder service create method
2024-10-01 14:03:02 +02:00
Kyle Brandt
2a73b89374 Prometheus: Add resource for suggestions that include scopes/adhoc filters (#94001)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-10-01 07:17:59 -04:00
Alex Khomenko
a20ebbc8f8 Routing: Replace useHistory hook (#94061)
* Update ConfigureIRM

* Update Browse
2024-10-01 14:11:58 +03:00
Tim Levett
8de1047f65 Change from Apps to "More Apps" (#93454)
* Change the label used for additional app links from apps to more apps so it doesn't conflict with applications, which is application observability, not the other bucket

* update to more apps

* more in german is mehr

* fix case, update translations correctly

* revert changes to de

* fix be tests

---------

Co-authored-by: joshhunt <josh@trtr.co>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-10-01 11:31:31 +01:00
Alex Khomenko
95d379368a Announcement banner: Enable feature toggle by default (#94041)
* Announcement banner: Enable by default

* Update feature stage
2024-10-01 11:23:21 +01:00
Pepe Cano
38ad0d3ebf Alerting docs: relocate Intro>Notifications>Templates (#94057)
* Alerting docs: relocate `Intro>Notifications>Templates`

* Rename to `Templates`
2024-10-01 12:08:47 +02:00
Ashley Harrison
a8b94fe203 SingleTopNav: Move org switcher into Megamenu header (#94053)
move org switcher into megamenu header
2024-10-01 10:55:48 +01:00
Bogdan Matei
137da12c99 Fix panel search (#94043) 2024-10-01 12:45:31 +03:00
renovate[bot]
8338e92a70 Update dependency sass-loader to v16 (#94006)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 10:30:32 +01:00
Alexander Zobnin
9144e3b44a Navigation: Fix empty admin menu (#94024) 2024-10-01 11:28:33 +02:00
Robert Goltz
299fe3e5b1 Chore: bump module github.com/rs/cors from v1.10.1 to v1.11.1 (#93363)
* Chore: Update module github.com/rs/cors to v1.11.0

* Fix: rs/cors to v1.11.1 to benefit from fix regarding support for multiple Access-Control-Request-Headers field, e.g. API Gateway

* update go.sum

---------

Co-authored-by: Jo <me@jguer.space>
2024-10-01 10:59:23 +02:00
ismail simsek
f8fd45892d Chore: Fix legend changing when using incremental querying (#93529)
* rename variables

* fix setting legend

* yarn prettier:write

* only update displayNameFromDS
2024-10-01 10:58:08 +02:00
Sergej-Vlasov
d75fee5207 DataTrail: Remove newFiltersUI feature toggle usage from explore metrics (#93693)
remove newFiltersUI feature toggle usage from explore metrics
2024-10-01 09:45:16 +01:00
Dana Axinte
1a31abe254 CloudMigrations: Limit frontend query to get latest snapshots (#93639)
* latest param to endpoint and adapt frontend query

* change to sort param

* api

* remove description
2024-10-01 09:28:25 +01:00
grafana-pr-automation[bot]
8b6cbae96b I18n: Download translations from Crowdin (#94032)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-01 06:22:27 +01:00
Michael Mandrus
1c648fd010 Chore: Fix flaky cloud migration test (#94035)
* attempt to fix flaky test

* remove skip from test
2024-10-01 03:24:47 +01:00
Yuri Tseretyan
0c1aafd643 Alerting: skip flaky test TestBroadcastAndHandleMessages (#94039) 2024-09-30 18:50:55 -04:00
Alexander Weaver
393faa8732 Alerting: Move rule evaluation status logic out of prometheus API and into scheduler (#89141)
* Add health fields to rules and an aggregator method to the scheduler

* Move health, last error, and last eval time in together to minimize state processing

* Wire up a readonly scheduler to prom api

* Extract to exported function

* Use health in api_prometheus and fix up tests

* Rename health struct to status

* Fix tests one more time

* Several new tests

* Handle inactive rules

* Push state mapping into state manager

* rename to StatusReader

* Rectify cyclo complexity rebase

* Convert existing package local status implementation to models one

* fix tests

* undo RuleDefs rename
2024-09-30 16:52:49 -05:00
owensmallwood
6a3eb276ef Grafana Indexing PoC: Adds feature flag and gRPC endpoint (#93356)
* adds Filter gRPC and make protobuf

* adds route for querying the filter gRPC

* wires up Filter gRPC call

* [WIP] index from start

* renames gRPC endpoint to "Search"

* adds /apis/search route into k8s routes. Hacky for now.

* updates readme - wrong casing

* adds feature toggle for unified storage search

* hides US search behind feature flag. Clean up print statements.

* removes indexer - will be added in another PR

* Search: Add API Builder

* adds required method

* implementing UpdateAPIGroupInfo (WIP)

* adds groupversion

* commenting out for now

* remove unneeded code from experimenting and update register.go to match interface required

* namespaces search route

---------

Co-authored-by: leonorfmartins <leonorfmartins@gmail.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-09-30 13:46:14 -06:00
Sonia Aguilar
cebcb38df2 Alerting: Style nits for the simple query mode (#93930)
* Style nits for the simple query mode

* update translations

* update text

* update translations

* update disable word to deactivate

* update preview text when not advanced options

* update text

* update text
2024-09-30 19:47:16 +01:00
dependabot[bot]
52f208d3ac Bump github.com/beevik/etree from 1.2.0 to 1.4.1 (#90707)
Bumps [github.com/beevik/etree](https://github.com/beevik/etree) from 1.2.0 to 1.4.1.
- [Release notes](https://github.com/beevik/etree/releases)
- [Changelog](https://github.com/beevik/etree/blob/main/RELEASE_NOTES.md)
- [Commits](https://github.com/beevik/etree/compare/v1.2.0...v1.4.1)

---
updated-dependencies:
- dependency-name: github.com/beevik/etree
  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>
Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2024-09-30 17:51:41 +01:00
Santiago
aa77023008 Alerting: Fix panics when attempting to create an Alertmanager after failing (#94023) 2024-09-30 13:50:35 -03:00
Santiago
80611b381c Alerting: Decrypt secure settings when testing receivers in the remote Alertmanager (#93864)
* Alerting: Decrypt secure settings when testing receivers in the remote Alertmanager

* go work sync

* make update-workspace

* point to latest main in grafana/alerting

* unit test

* import definitions only once
2024-09-30 13:28:30 -03:00
grafana-pr-automation[bot]
fcbaf188c2 I18n: Download translations from Crowdin (#94013)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-30 17:19:54 +01:00
Matheus Macabu
7bb3fe3da1 CloudMigrations: Remove unused code from sync migration approach (#94016) 2024-09-30 17:54:12 +02:00
Steven Dungan
362b5a1c22 Docs - direction param for Loki in Explore (#91905)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-30 16:46:21 +01:00
Alexa V
8b215d60ac Dashboard Scene: Add sceneGraph missing dependency (#94014)
Add sceneGraph missing dependency
2024-09-30 16:25:58 +01:00
Esteban Beltran
a1cedb4160 Auto triager: Update labels for dashboards squad (#93989) 2024-09-30 17:05:01 +02:00
Torkel Ödegaard
0c22aac7f0 Dashboards: Add support for systemPanelFilterVar and systemDynamicRowSizeVar variables in scenes (#93670)
Co-authored-by: kay delaney <kay@grafana.com>
2024-09-30 15:46:43 +01:00
brendamuir
bb41ff267b Alerting docs: updates to default and advanced options (#93999)
* Alerting docs: updates to default and advanced options

* feedback sonia
2024-09-30 16:41:44 +02:00
Marcus Efraimsson
b7a7f2bd62 Plugins: Use handler middleware from the SDK (#93445)
updates sdk to v0.251.0
2024-09-30 16:33:15 +02:00
Pepe Cano
54faa541c3 Alerting docs: Move the Condition operators to the Classic condition section (#93997)
Alerting docs: Move the `Condition operators` to the Classic conditions section
2024-09-30 16:23:37 +02:00
Joao Silva
b937b70a46 Internationalization: Restore some plurals text (#94002) 2024-09-30 15:05:16 +01:00
grafana-pr-automation[bot]
ae05e4422d I18n: Download translations from Crowdin (#93983)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-30 15:00:20 +01:00
Joao Silva
a45662bf2d Revert "Restore Dashboards: Add e2e tests (again) (#93214)" (#94003) 2024-09-30 14:26:16 +01:00
Bruno
6f92fd64ce Cloud migrations: add more context to errors (#93814)
* Cloud migrations: add more context to errors

* calls to assert.ErrorIs was passing arguments in the wrong order
2024-09-30 09:57:25 -03:00
Kristina
ddbf0a05af Correlations: Update docs to include information on external correlation type (#93772)
Change docs to reflect different correlation types
2024-09-30 07:43:45 -05:00
Georges Chaudy
0a26c9e9ae Unistore : Ensure Watch works in HA mode. (#93428)
* Replace Watch with WatchNext

* remove watchset

* fix previous page and closing the channel

* Remove the broadcaster cache to prevent dupplicated events

* add watch bookmark

* add watch bookmark

* cleanup comments

* disable the tests for bookmarks for now

* Ensure we send previosu events

* lint

* re-introduce the cache

* load from cache

* disabling legacy test

* disabling legacy test

* Update pkg/storage/unified/resource/server.go

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>

* Could not read previous events

* add proper migration

* Add previous_resource_version to both history and resource

* First event should have an RV of 2 and not 1

* Test both storage backends

* fix the inital RV for the sql backend

* ensure graceful stop of the stream decoder

* gocyclo

---------

Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-09-30 13:14:07 +02:00
Ronald McCollam
e1146120f4 Update MySQL example dashboard (#93853)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-30 11:56:12 +01:00
Ronald McCollam
673b98cf10 Add PostgreSQL example dashboard link (#93854)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-30 11:56:02 +01:00
Torkel Ödegaard
b17e256a3c DashboardScene: Fixes url issue with subpath when exiting edit mode (#93962) 2024-09-30 12:19:47 +02:00
Torkel Ödegaard
1c14c85b97 Dashboards: Fixes view & edit keyboard shortcuts when grafana is behind a subpath (#93955)
DashboardScene: Fixes view & edit keyboard shortcuts when grafana is behind a subpath
2024-09-30 12:19:24 +02:00
antonio
e6c962e37c docs>tutorial:improve set up section (#93988)
* docs>tutorial:improve set up section

* removed section

* simplified content/fixed link
2024-09-30 12:05:39 +02:00
Ivan Ortega Alba
7bca69849f Dashboards: Enable scenes by default (#93818)
* Mark Scenes feature toggles as GA

* Move old arch e2e to a new folder

* Run E2E on scenes by default

* Upgrade e2e-selectors to ensure the tests in Playwright works
2024-09-30 10:49:02 +01:00
Joao Silva
42f1fcaf2c Restore Dashboards: Add e2e tests (again) (#93214) 2024-09-30 10:44:15 +01:00
Pepe Cano
405887eebf Alerting Docs: Update the introduction to Templates (#93935)
* Intro/Templates: update Intro and Template annotations sections

* Template labels section + adjustements

* Template notifications

* Use diagram for `meta_image`
2024-09-30 11:31:18 +02:00
antonio
66b881ae2f tutorials: alerting > evaluation (#93981) 2024-09-30 11:30:55 +02:00
Tom Ratcliffe
af82dfa95d Alerting/Chore: Fix TimeRangeInput not working across multiple months (#93622) 2024-09-30 10:26:07 +01:00
Sonia Aguilar
fc93d6f795 Alerting: Update texts in annotations step (#93977)
* Update texts in annotations step

* add translations
2024-09-30 09:57:09 +01:00
grafana-pr-automation[bot]
ef06724a2d I18n: Download translations from Crowdin (#93910)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-30 09:32:50 +01:00
Arati R.
ed75aea21d Folders: Export folder store implementation (#93897)
* Export folder store implementation

* Rename folder store

* Add folder store as a parameter to folder service

* Add folder store to dash service implementation

* Fix folder store comments
2024-09-30 10:28:47 +02:00
Erik Sundell
daf9273cd1 E2E: Build test plugins before running the tests (#93979)
build test plugins before starting server
2024-09-30 10:21:14 +02:00
Tom Ratcliffe
0b2478859a Alerting: Allow linking to silence form with __alert_rule_uid__ value preset (#93526) 2024-09-30 09:20:53 +01:00
Tom Ratcliffe
e4698d9c52 Alerting: Fix eval interval not being saved when creating a new group (#93821) 2024-09-30 09:19:01 +01:00
Jack Westbrook
1aed1d8017 Chore: Bump webpack for e2e test plugins (#93831)
chore(e2e-plugins): bump version of webpack to silence dependabot
2024-09-30 10:06:54 +02:00
Dai Nguyen
8b3615b576 Update Image Render Dependencies (#93959) 2024-09-30 09:58:52 +02:00
Ryan Crutchfield
369a8a2b5f Docs: Add org mapping feature to generic OAuth (#91365)
* Doc fix - Add org mapping feature to generic OAuth

https://grafana.com/docs/grafana/latest/setup-grafana/configure-security/configure-authentication/generic-oauth/#org-roles-mapping-example

* Reviewer correction

Added org mapping for all OAuth providers with the exception of GCOM
2024-09-30 09:56:55 +02:00
Dai Nguyen
fb9e12c106 Update Okta SAML attributes documentation (#93966)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-09-30 07:35:33 +00:00
jackyin
e23ba32722 Transformations: Fix crash in Config from query results (#93427) 2024-09-28 09:04:40 -05:00
Adela Almasan
47b51326cc VizTooltip: Update datalinks styling (#93950) 2024-09-28 05:33:10 +01:00
Adela Almasan
f9f85131a9 FieldConfig: Add support for Actions (#92874)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-27 23:12:37 -05:00
Leon Sorokin
165ca3b4e8 Chore: uPlot v1.6.31 (#93952) 2024-09-27 23:11:05 -05:00
Yuri Tseretyan
84c079d93f Alerting: Add time intervals fixed roles (#93942)
add time intervals role
2024-09-27 16:12:25 -04:00
Brendan O'Handley
54ada3fc47 Explore metrics: Fix bug when switching from OTel enabled Prometheus DS to non OTel PRometheus DS (#93941) 2024-09-27 15:03:37 -05:00
Isabella Siu
76406d65cd ElasticSearch: Fix errorsource in newInstanceSettings (#93859) 2024-09-27 15:40:35 -04:00
Alexander Weaver
c2799b4901 Alerting: Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] (#93940)
Fix endpoint permission on rule write endpoint
2024-09-27 14:23:21 -05:00
Tom Ratcliffe
fc51ec70ba Alerting: Add manage permissions UI logic for Contact Points (#92885)
* Add showPolicies prop

* Add manage permissions component for easier reuse within alerting

* Add method for checking whether to show access control within alerting

* Remove accidental console.log from main

* Tweak styling for contact point width and add manage permissions drawer

* Improve typing for access control type response

* Add basic test for manage permissions on contact points list

* Only show manage permissions if grafana AM and alertingApiServer is enabled

* Update i18n

* Add test utils for turning features on and back off

* Add access control handlers

* Update tests with new util

* Pass AM in and add tests

* Receiver OSS resource permissions

There is a complication that is not fully addressed: Viewer defaults to read:*
and Editor defaults to read+write+delete:*

This is different to other resource permissions where non-admin are not granted
any global permissions and instead access is handled solely by resource-specific
permissions that are populated on create and removed on delete.

This allows them to easily remove permission to view or edit a single resource
from basic roles.

The reason this is tricky here is that we have multiple APIs that can
create/delete receivers: config api, provisioning api, and k8s receivers api.
Config api in particular is not well-equipped to determine when creates/deletes
are happening and thus ensuring that the proper resource-specific permissions
are created/deleted is finicky.

We would also have to create a migration to populate resource-specific
permissions for all current receivers. This migration would need to be reset so
it can run again if the flag is disabled.

* Add access control permissions

* Pass in contact point ID to receivers form

* Temporarily remove access control check for contact points

* Include access control metadata in k8s receiver List & Get

GET: Always included.
LIST: Included by adding a label selector with value `grafana.com/accessControl`

* Include new permissions for contact points navbar

* Fix receiver creator fixed role to not give global read

* Include in-use metadata in k8s receiver List & Get

GET: Always included.
LIST: Included by adding a label selector with value `grafana.com/inUse`

* Add receiver creator permission to receiver writer

* Add receiver creator permission to navbar

* Always allow listing receivers, don't return 403

* Remove receiver read precondition from receiver create

Otherwise, Creator role will not be able to create their first receiver

* Update routes permissions

* Add further support for RBAC in contact points

* Update routes permissions

* Update contact points header logic

* Back out test feature toggle refactor

Not working atm, not sure why

* Tidy up imports

* Update mock permissions

* Revert more test changes

* Update i18n

* Sync inuse metadata pr

* Add back canAdmin permissions after main merge

* Split out check for policies navtree item

* Tidy up utils and imports and fix rules in use

* Fix contact point tests and act warnings

* Add missing ReceiverPermissionAdmin after merge conflict

* Move contact points permissions

* Only show contact points filter when permissions are correct

* Move to constants

* Fallback to empty array and remove labelSelectors (not needed)

* Allow `toAbility` to take multiple actions

* Show builtin alertmanager if contact points permission

* Add empty state and hide templates if missing permissions

* Translations

* Tidy up mock data

* Fix tests and templates permission

* Update message for unused contact points

* Don't return 403 when user lists receivers and has access to none

* Fix receiver create not adding empty uid permissions

* Move SetDefaultPermissions to ReceiverPermissionService

* Have SetDefaultPermissions use uid from string

Fixes circular dependency

* Add FakeReceiverPermissionsService and fix test wiring

* Implement resource permission handling in provisioning API and renames

Create: Sets to default permissions
Delete: Removes permissions
Update: If receiver name is modified and the new name doesn't exist, it copies
the permissions from the old receiver to the newly created one. If old receiver
is now empty, it removes the old permissions as well.

* Split contact point permissions checks for read/modify

* Generalise getting annotation values from k8s entities

* Proxy RouteDeleteAlertingConfig through MultiOrgAlertmanager

* Cleanup permissions on config api reset and restore

* Cleanup permissions on config api POST

note this is still not available with feature flag enabled

* Gate the permission manager behind FF until initial migration is added

* Sync changes from config api PR

* Switch to named export

* Revert unnecessary changes

* Revert Filter auth change and implement in k8s api only

* Don't allow new scoped permissions to give access without FF

Prevents complications around mixed support for the scoped permissions causing
oddities in the UI.

* Fix integration tests to account for list permission change

* Move to `permissions` file

* Add additional tests for contact points

* Fix redirect for viewer on edit page

* Combine alerting test utils and move to new file location

* Allow new permissions to access provisioning export paths with FF

* Always allow exporting if its grafana flavoured

* Fix logic for showing auto generated policies

* Fix delete logic for contact point only referenced by a rule

* Suppress warning message when renaming a contact point

* Clear team and role perm cache on receiver rename

Prevents temporarily broken UI permissions after rename when a user's source of
elevated permissions comes from a cached team or basic role permission.

* Debug log failed cache clear on CopyPermissions

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2024-09-27 19:56:32 +01:00
Yuri Tseretyan
86faeae6d2 Alerting: Update GetTemplates to return sorted list of templates (#93933) 2024-09-27 18:49:37 +01:00
Sven Grossmann
157ded7c3f Tempo: Create trace to logs links with traces in structured metadata (#93923) 2024-09-27 17:11:09 +01:00
Timothee
f3ba16d3b7 Tidying up the Grafana setup documentation (#93860) 2024-09-27 15:57:38 +00:00
Bruno
8f66b7fdb0 Cloud migrations: disable flaky test (#93921)
* Cloud migrations: disable flaky test

* Update pkg/services/cloudmigration/cloudmigrationimpl/xorm_store_test.go

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-09-27 16:36:08 +01:00
Ihor Yeromin
d5e35c4b78 Legend: Render legend threshold colors (#92838)
* feat(barchart): render legend threshold and value mapping colors

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-27 17:02:03 +02:00
Mark Visser
c46736f490 Adjust Grafana setup docs (#93894)
* Fix duplicate command and code format

* Minor adjustment

* add bash to code line 

added bash to a code line

* run prettier

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-09-27 15:00:37 +00:00
renovate[bot]
0401fa1652 Update dependency @faker-js/faker to v9 (#93917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 15:35:15 +01:00
brendamuir
ff5e6da358 Alerting docs: adds simple mode for query section (#93909)
* Alerting docs: adds simple mode for query section

* prettier and add steps section

* delete space

* feedback from sonia

* prettier
2024-09-27 16:22:34 +02:00
Ashley Harrison
bc6752a51c SingleTopNav: Add "Grafana" header to MegaMenu (#93798)
* add "Grafana" header to MegaMenu

* add truncation for really long custom app titles

* revert padding change since paddingLeft will handle it
2024-09-27 15:20:45 +01:00
renovate[bot]
0e4c90dd87 Update emotion monorepo (#93914)
* Update emotion monorepo

* add @emotion/serialize package + update unit test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-09-27 15:16:12 +01:00
xiyu95
ce8c42ab35 chore: enforce the validationMessageHorizontalOverflow for InlineField (#93858)
chore: enforce the validationMessageHorizontalOverflow prop for inlineField
2024-09-27 07:01:18 -07:00
Karl Persson
0160f4f72c RBAC: Add legacy authorization checks to service accounts (#93753)
* Extract a helper funtion to perform list with authorization checks

* Add k8s verb to utils package

* Construct default mapping when no custom mapping is passed

* Configure authorization checks for service accounts

* Fix helper and add filtering to service accounts
2024-09-27 15:53:11 +02:00
renovate[bot]
7710f1c3cf Update dependency rollup to v4.22.5 2024-09-27 13:36:59 +00:00
renovate[bot]
e5d0877af7 Update dependency knip to v5.30.6 2024-09-27 13:13:07 +00:00
Torkel Ödegaard
1941ae21d7 DashboardScene: Refactor body property to be layout manager interface (#93738)
* Began layout refactor

* fixing tests

* Progress

* Progress

* Progress

* Progress

* Progress

* Progress

* finally no errors

* Remove unused interface

* Remove unused interface

* fixed tests

* Update

* Update

* Fixes to keyboard shortcuts and solo route

* fix lint issues
2024-09-27 15:11:28 +02:00
Misi
7e94d05d39 Auth: Fix token rotation redirect when session storage redirect is enabled (#93906)
Fix token rotation redirect when session storage redirect is enabled
2024-09-27 14:57:46 +02:00
renovate[bot]
598179227c Update dependency yaml to v2.5.1 (#93899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 13:44:00 +01:00
Alex Khomenko
5b53b37634 Routing: Update components using props.match to use hooks (#93792)
* RuleViewed: Get params from hook

* ProviderConfigPage: Use hooks for redux logic

* Update NewDashboardWithDS

* Update StorageFolderPage

* Update StoragePage

* Cleanup

* Update PublicDashboardPage

* Update RuleEditor

* Update BrowseFolderAlertingPage

* Update BrowseFolderLibraryPanelsPage

* Update SoloPanelPage

* Fix test

* Add useParams mocks

* Update ServiceAccountPage

* Simplify mocks

* Cleanup

* Reuse types for path params

* Remove mock for router compat in test

* Switch to element

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-09-27 15:39:29 +03:00
grafana-pr-automation[bot]
9fc4436418 I18n: Download translations from Crowdin (#93904)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-27 13:28:37 +01:00
Konrad Lalik
db42af20ca Alerting: Prometheus primary mode for the alert list page (#92975)
* Lazy loading of mimir groups

* Refactor rule statuses

* Use prometheus endpoint to populate namespace and group dropdowns

* Add a feature toggle

* Use lazy loading ruler rules if the feature toggle enabled

* Remove unnecessary props form dynamic table

* Remove query from hash calculation

* Conditionally load ns and group autocompletions from Prom or Ruler APIs

* Fix prometheus dto labels property type

* Add a new suggestions hook which provides autocomplete options for the alert rule form

* Improve delete status handling

* Add waiting for Prometheus endpoint consistency after update submission

* Get rule definition from ruler or prometheus endpoint in useCombinedRule

* Add Prometheus consistency check. Fix view page redirects

* Remove rules reload after rule creation, remove statuses from Prom primary mode

* Add waiting for Prometheus consistency on delete rule action

* Add groups list rendering improvements

* Add memo to useAbilities

* Fix GMA consistency check, fix GMA statuses

* defer filered rules rendering

* Update failing tests

* Update locales

* Add rule-id tests

* Remove unused action

* update loading styles

* Fix unrelated test

* Add a new object for reading alerting feature toggles, address minor review issues

* Improve consistency check

* update i18n

* Improve rule form redirects

* Refactor feature toggle handling

* Update docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md

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

* Update public/app/features/alerting/unified/components/rule-viewer/RuleViewer.tsx

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

* Fix prettier issues

* Fix i18n

* Fix the feature toggle description

* Fix rule updates, fix ruler-based suggestions, wait for deletion for GMA rules

* Fix rename

* Remove unused code, improve copy

* Update i18n

* Fix url redirect when serving from subpath

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-27 14:27:16 +02:00
Matheus Macabu
fcb17379ea LibraryElements: add fake service implementation and replace its usage in Dashboard API (#93783)
* LibraryElements: add fake service implementation

* Dashboards: replace fake LibraryElements implementation
2024-09-27 14:22:29 +02:00
Roman Pertl
3437c8be7f Docs: grafana image renderer instructions custom cert in container (#93646)
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2024-09-27 13:00:57 +01:00
Sam Jewell
51d73249b2 Docs: Update Usage insights logs docs- Scope (#93425)
Update Usage insights logs docs: Scope

As far as I can tell, in https://github.com/grafana/grafana/pull/59931
we started to record Usage Insights events for Explore queries.
And in https://github.com/grafana/grafana/pull/78097 we further improved
our implementation of that logging.

This documentation should have been updated back then to match. So I'm
updating it now.
2024-09-27 12:33:24 +01:00
Jack Westbrook
012d62782c Fix: Prevent import errors caused by Rollup 4 (#93903)
fix(packages): prevent import errors by injecting exports.esmodule and check for default prop
2024-09-27 12:18:52 +01:00
Artur Wierzbicki
35f5ef007c Chore: update ownership of grafana live FE code (#93823)
update ownership of live FE
2024-09-27 11:43:02 +01:00
Tobias Skarhed
f49b4d35f2 OAuth: Add custom unauthorized message option in configuration (#93717)
* read custom message from config

* Read error key from bootdata

* oopsie

* Remove console.log

* Update docs and sample/default inis

* Add default key value to the config
2024-09-27 12:11:27 +02:00
renovate[bot]
08dab3f816 Update dependency eslint-plugin-react to v7.37.0 (#93891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 10:48:11 +01:00
Gabriel MABILLE
6137a75552 Docs: document the managed_service_accounts_enabled configuration option (#93883)
* Config: Disclaimer single-org support for managed service accounts

* Add docs update

* Update docs/sources/setup-grafana/configure-grafana/_index.md
2024-09-27 11:07:02 +02:00
Jack Westbrook
f22bee8ca2 Build: Migrate packages to rollup v4 (#93731)
* chore(packages): bump rollup and rollup plugins to latest

* chore(packages): fix rollup node-externals plugin imports

* chore(packages): update build/bundle scripts to pass configPlugin arg to rollup

* feat(packages): migrate rollup configs to be esm compliant

* feat(packages): build using es2018 target and use same tsconfig and tsc for rollup
2024-09-27 11:00:13 +02:00
renovate[bot]
52611d4d02 Update dependency webpack-dev-server to v5.1.0 (#93845)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-27 09:42:03 +01:00
Sonia Aguilar
3dbba3e509 Alerting: Fix Grafana recording rules expressions (#93878)
fix grafana recording rules expressions
2024-09-27 10:07:48 +02:00
Roberto Jiménez Sánchez
826245f511 CloudMigrations: Avoid building GMS base path when provided (#93793)
Avoid building GMS base path when provided
2024-09-27 09:22:38 +02:00
Gabriel MABILLE
7928245eb6 ManagedServiceAccounts: Add a config option to disable the feature on-prem (#93571)
* ManagedServiceAccounts: Add a config option to disabled by default

* Update log in pkg/services/extsvcauth/registry/service.go

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-09-27 09:11:59 +02:00
Torkel Ödegaard
2cfba519f1 DashboardScene: Fixes urlsync issue when going from normal to home dashboard (#93758)
* DashboardScene: Fixes urlsync issue when going from normal to home dashboard

* Better fix

* Update
2024-09-27 09:10:49 +02:00
Matheus Macabu
40bcd0df41 LibraryElements: export GetAllElements to service (#93782) 2024-09-27 08:48:56 +02:00
Ryan McKinley
87c81825b7 K8s: Move standalone apiserver CLI to enterprise (#93799) 2024-09-27 09:04:35 +03:00
Michael Mandrus
e672796632 CloudMigrations: Fix OrderBy clause in GetSnapshotList sql handler (#93857)
fix order_by clause in list query
2024-09-26 22:51:01 -04:00
Jev Forsberg
dc1670ed9a CI: Bump alpine version (#93865)
* baldm0mma/up_alpine/ update alpine

* baldm0mma/resolve commits
2024-09-26 20:50:28 -05:00
Jev Forsberg
b17b98aeb9 CI: Update retry_command function (#93863)
* baldm0mma/update args

* baldm0mma/update_args/ conflict
2024-09-26 19:19:38 -06:00
Jev Forsberg
dc03cc0f9a CI: Bump alpine version (#93861)
baldm0mma/bump_alpine
2024-09-26 18:58:21 -06:00
Alexander Weaver
378d92130d Alerting: Don't suppress translation errors in PointsFromFrames (#93747)
* don't suppress error

* reorder

* re-add nilcheck
2024-09-26 16:30:50 -05:00
Steve Simpson
acb051b314 Alerting: Fix logging for failed annotations writing. (#93856) 2024-09-26 23:27:40 +02:00
Kevin Minehart
a847608061 CI: add promotion step for publish grafanacom (#93851)
* add promotion step for publish grafanacom

* publish-grafanacom depends on compile-build-cmd

* use DRONE_TAG

* add docstring comment for depends_on
2024-09-26 22:19:19 +01:00
Kim Nylander
6951feff88 [DOC] Add videos to Explore docs (#93847)
* Add videos to Explore docs

* Apply suggestions from code review
2024-09-26 15:32:43 -04:00
renovate[bot]
125a8a41dd Update dependency nx to v19.8.2 2024-09-26 16:57:15 +00:00
Santiago
920d79680d Alerting: Fix Slack notification errors when using bad title template (#93771)
* Alerting: Fix Slack notification errors when using bad title template

* upgrade grafana/alerting to latest main
2024-09-26 12:58:58 -03:00
renovate[bot]
7e4eb61be8 Update dependency dompurify to v3.1.7 2024-09-26 15:49:43 +00:00
Joao Silva
1418e88695 Bookmarks: Do not query preferences if no user logged in (#93840) 2024-09-26 16:47:57 +01:00
grafana-delivery-bot[bot]
80adb74205 Release: update changelog for 11.2.1 (#93835)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 16:06:40 +01:00
renovate[bot]
efe8739864 Update dependency @types/node to v20.16.9 2024-09-26 14:55:59 +00:00
Santiago
7098c22f39 Docs: Remove deprecation warning on webhook payload fields (#92604) 2024-09-26 11:53:22 -03:00
Claudiu Dragalina-Paraipan
59ea63384d [bugfix] Fix missing URI in breadcrumbs in Teams view (#93828)
Fix missing URI in breadcrumbs in Teams view
2024-09-26 17:41:56 +03:00
Jack Westbrook
5a5d57311b Chore: Bump path-to-regexp (#93830)
chore(frontend): bump path-to-regexp to solve dependabot alert
2024-09-26 15:40:22 +01:00
renovate[bot]
ad960827cc Update dependency @types/jquery to v3.5.31 2024-09-26 14:33:05 +00:00
grafana-delivery-bot[bot]
fc84ec7618 Release: update changelog for 11.1.6 (#93825)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 15:31:29 +01:00
Bruno
1b7cd4c684 Cloud migrations: store resource name in the cloud_migration_resource table (#93612)
* Cloud migrations: store resource name in the cloud_migration_resource table

* remove unused function: convertMigrateDataResponseToDTO

* make swagger-clean && make openapi3-gen

* use DB_Text for cloud_migration_resource.name instead of DB_Varchar
2024-09-26 11:16:52 -03:00
Ihor Yeromin
2e559bb333 Transformation: UI date field transformation (#93807)
fix(transformation): ui date field transformation
2024-09-26 16:12:58 +02:00
Haris Rozajac
eb8e6c6a9f Query Library: Display query text even when datasource doesn't have getQueryDisplayText (#93668)
Display query text even when datasource doesn't have getQueryDisplayText
2024-09-26 08:10:02 -06:00
renovate[bot]
02fff05607 Update dependency @grafana/faro-web-tracing to v1.10.1 2024-09-26 14:08:13 +00:00
Hugo Kiyodi Oshiro
be8c8baf6f ConfirmModal: Allow button disable to be externally managed (#93446) 2024-09-26 15:56:25 +02:00
Gilles De Mey
4b1d8eeef0 Alerting: Remove filter for state without reason (#93604) 2024-09-26 15:40:04 +02:00
Brendan O'Handley
7aaa4b241e Explore metrics: Fix warning message for limiting metrics (#93817)
don't show undefined error
2024-09-26 14:34:28 +01:00
grafana-delivery-bot[bot]
570c5934d3 Release: update changelog for 11.0.5 (#93816)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 14:33:10 +01:00
renovate[bot]
eee53810c0 Update dependency @grafana/faro-web-sdk to v1.10.1 2024-09-26 13:31:09 +00:00
Matheus Macabu
14abf2dab3 CloudMigrations: add Library Element as a valid migration resource type (#93781) 2024-09-26 15:29:28 +02:00
Ryan McKinley
afe464bc20 K8s/Storage: add a reusable generic storage builder (#93778) 2024-09-26 14:26:45 +01:00
renovate[bot]
b80bba387f Update dependency @grafana/faro-web-sdk to v1.10.1 2024-09-26 13:12:10 +00:00
grafana-delivery-bot[bot]
a68993825e Release: update changelog for 10.4.9 (#93808)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-09-26 14:06:12 +01:00
grafana-delivery-bot[bot]
dbd8b082a6 Release: update changelog for 10.3.10 (#93802)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-09-26 13:54:38 +01:00
renovate[bot]
65a12e46a6 Update dependency @grafana/faro-core to v1.10.1 2024-09-26 12:53:08 +00:00
linoman
e2816ee51a RolePickerDrawer: Add feature toggle (#93752)
Add feature toggle
2024-09-26 14:51:38 +02:00
Todd Treece
df9925f3bb Live: Clean up redis after test run (#93806) 2024-09-26 08:41:47 -04:00
kay delaney
c602041f4a Fix failing tests 2024-09-26 13:13:41 +01:00
renovate[bot]
415b4b5782 Update dependency @grafana/scenes to v5.16.0 2024-09-26 13:13:41 +01:00
Edvard Falkskär
20a66343bd SparklineCell: Improve text alignment factor (#93539) 2024-09-26 14:41:03 +03:00
kay delaney
6c8f24adc9 Dashboards: Fix issue with percentage difference formatting (#93389)
* Dashboards: Fix issue with percentage difference formatting

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>
2024-09-26 11:15:51 +01:00
Ashley Harrison
0a01b60305 Chore: Add mock for useChromeHeaderHeight (#93788)
add mock for useChromeHeaderHeight
2024-09-26 10:23:20 +01:00
grafana-pr-automation[bot]
9531be9162 I18n: Download translations from Crowdin (#93760)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-26 10:19:24 +01:00
Josh Hunt
6be7033d29 Chore: Delete mockServiceWorker.js (#93768) 2024-09-26 10:10:33 +01:00
Roman Pertl
fa4baa7c38 Docs: update grafana-renderer auth token documentation (#93645) 2024-09-26 09:08:31 +00:00
Irene Rodriguez
c63c5857df Update CODEOWNERS (#93786) 2024-09-26 09:54:51 +01:00
Hugo Kiyodi Oshiro
368fc0f120 Plugins: Improve update all modal UX (#93448) 2024-09-26 10:19:26 +02:00
Ryan McKinley
cdbc04ab2b GRPC/Authn: Remove org name header (#93780) 2024-09-26 10:58:59 +03:00
Sonia Aguilar
536edee7bf Alerting: Query and expressions section simplification (#93022)
* Add mode switch in Query section

* Implement simple query mode : WIP

* fix logic switching mode

* move guard and get methodd to another folder

* Add more requiremts for being transformable from advanced to not advanced mode

* fix usig mode when it's not a grafana managed alert

* Show warning when switching to not advanced and its not possible to convert

* Add feature toggle alertingQueryAndExpressionsStepMode

* fix test

* add translations

* address PR feedback

* Use form context for sharing simplfied mode used, save in local storage and use the new fields in the api

* add check to valid reducer and threshold when switching to simplified mode

* Use only one expression list

* fix test

* move existing rule check outside storeInLocalStorageValues

* add id in InlineSwitch to handle onClick on label

* fix

* Fix default values when editing existing rule

* Update dto fields for the api request

* fix snapshot

* Fix recording rules to not show switch mode

* remove unnecessary Boolean conversion

* fix areQueriesTransformableToSimpleCondition

* update text

* pr review nit

* pr review part2
2024-09-26 08:33:14 +02:00
Adela Almasan
c36f7aa92b VizTooltip: Improved sizing (#93762)
Co-authored-by: Staton Hysell <staton.hysell@grafana.com>
2024-09-25 20:47:03 -05:00
Jeff Levin
a21a232a8e Revert read replica POC (#93551)
* Revert "chore: add replDB to team service (#91799)"

This reverts commit c6ae2d7999.

* Revert "experiment: use read replica for Get and Find Dashboards (#91706)"

This reverts commit 54177ca619.

* Revert "QuotaService: refactor to use ReplDB for Get queries (#91333)"

This reverts commit 299c142f6a.

* Revert "refactor replCfg to look more like plugins/plugin config (#91142)"

This reverts commit ac0b4bb34d.

* Revert "chore (replstore): fix registration with multiple sql drivers, again (#90990)"

This reverts commit daedb358dd.

* Revert "Chore (sqlstore): add validation and testing for repl config (#90683)"

This reverts commit af19f039b6.

* Revert "ReplStore: Add support for round robin load balancing between multiple read replicas (#90530)"

This reverts commit 27b52b1507.

* Revert "DashboardStore: Use ReplDB and get dashboard quotas from the ReadReplica (#90235)"

This reverts commit 8a6107cd35.

* Revert "accesscontrol service read replica (#89963)"

This reverts commit 77a4869fca.

* Revert "Fix: add mapping for the new mysqlRepl driver (#89551)"

This reverts commit ab5a079bcc.

* Revert "fix: sql instrumentation dual registration error (#89508)"

This reverts commit d988f5c3b0.

* Revert "Experimental Feature Toggle: databaseReadReplica (#89232)"

This reverts commit 50244ed4a1.
2024-09-25 15:21:39 -08:00
Isabel Matwawana
25ca760ee1 Docs: Fix broken links (#93767) 2024-09-25 16:39:14 -04:00
Alexander Akhmetov
b9964865cb Alerting: Copy alert rule metadata when the rule is updated via provisioning API (#93723)
Alerting: Copy alert rule metadata when the rule is updated
2024-09-25 22:31:02 +02:00
Todd Treece
277d82db9a Live: Add ha_prefix (#93759) 2024-09-25 22:20:35 +02:00
Torkel Ödegaard
57ab354139 DashboardScene: Fixes issue with dashboard starting with auto refresh set (#93756) 2024-09-25 20:14:52 +02:00
Oscar Kilhed
b68d9630fb PanelEdit: Hide overflow for query options in small viewports (#93700)
Hide overflow for query options in small viewports
2024-09-25 20:08:05 +02:00
Serena
c822feff9e Home: add setup guide tab under home tab (#92947)
* feat: add setup guide in home tab

* chore: add feature toggle for setup guide

* chore: add feature toggle for sub menu

* chore: run pretier

* chore: run i18n

* chore: run generated files again

* chore: update description

* chore: update comment to trigger test flow

* chore: trigger test

* chore: fix styling
2024-09-25 18:20:04 +01:00
Isabel Matwawana
26a3e70cfa Docs: Table visualization refactor (#93633) 2024-09-25 13:06:33 -04:00
Laura Fernández
95b998d77f SingleTopNav: MegaMenu full page height (#93729) 2024-09-25 17:56:47 +02:00
ismail simsek
5fe4a2f6a9 Explore Metrics: Add consistent maxDataPoints value across the app (#93618)
Add consistent maxDataPoints value across the app
2024-09-25 17:53:26 +02:00
renovate[bot]
2c98767d17 Update dependency webpack to v5.95.0 [SECURITY] (#93751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 16:19:58 +01:00
Matheus Macabu
1e720306dd CloudMigrations: replace slicesext.Chunk with stdlib implementation (#93743) 2024-09-25 16:52:22 +02:00
renovate[bot]
5880579be8 Update dependency sass to v1.79.3 (#93741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 17:30:12 +03:00
Tobias Skarhed
1f7457c02c New Select: Extract floating ui setup into hook (#93387)
* New Select: Extratc floating ui setup into hook

* Remove unused exports

* Rename exported floatStyles

* Set maxHeight instead of using js to find it

* Extarct into seperate file
2024-09-25 16:27:17 +02:00
grafana-pr-automation[bot]
2651ce5dce I18n: Download translations from Crowdin (#93744)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-25 15:22:50 +01:00
Matheus Macabu
40ce035ed7 LibraryElements: remove viewer check when connecting a dashboard on General folder (#93737) 2024-09-25 16:16:59 +02:00
Isabel Matwawana
d24d59299b Docs: Change weight of sharing page (#93746) 2024-09-25 10:15:35 -04:00
Juan Cabanas
682a4073b4 ShareDrawer: Add share button tracking (#93742) 2024-09-25 17:03:30 +03:00
linoman
b6906cc866 SSO LDAP: ironing details (#93584)
* Rework description tooltip

* Null protect empty

* Add missing ref properties for form controllers

* Rework LDAP provider label

* Add missing `*` for required input

* Hide multiselect visual queues

* Add modal

* Adjust translated text hierarchies

* Add redirect confirmation modal
2024-09-25 15:59:57 +02:00
Isabel Matwawana
267f417924 Docs: update docs to reflect new sharing UI - 2 (#93002) 2024-09-25 09:47:33 -04:00
Isabel Matwawana
10a1bee86d Docs: Update use dashboard image for sharing redesign (#92957) 2024-09-25 09:43:47 -04:00
Isabel Matwawana
dbf0949ca7 Docs: update docs to reflect new sharing UI (#90630)
Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-25 09:42:58 -04:00
renovate[bot]
f80d3d687d Update dependency @grafana/scenes to v5.15.0 (#93730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 14:41:48 +01:00
renovate[bot]
5cd9ef562d Update dependency react-loading-skeleton to v3.5.0 (#93740)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 16:41:18 +03:00
Matthew Jacobson
e86929eb0a Alerting: Managed receiver resource permission in config api (#93632)
* Alerting: Managed receiver resource permission in config api
2024-09-25 09:39:36 -04:00
Yuri Tseretyan
10582e48f7 Alerting: Notifications Templates API (#91349) 2024-09-25 09:31:57 -04:00
ismail simsek
5472478ee8 Prometheus: Fix e2e selector by using "data-test-id" instead of "id" (#93736)
* use data-test-id instead of id

* don't skip
2024-09-25 15:29:19 +02:00
renovate[bot]
85bffcf787 Update dependency browserslist to v4.24.0 (#93733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 14:20:12 +01:00
Andres Martinez Gotor
225600a08b Expose queryconvert endpoint (#93656) 2024-09-25 15:10:19 +02:00
Todd Treece
177965704d Storage: Test mode 5 (#93714) 2024-09-25 08:29:17 -04:00
Laura Fernández
618e4014a7 Dashboards: SaveButton not available after changing the folder (#93216) 2024-09-25 13:30:36 +02:00
Ashley Harrison
8e5459791b SingleTopNav: Initial changes (#93694)
initial changes for single top nav
2024-09-25 14:27:30 +03:00
renovate[bot]
9a67cd614d Update dependency @grafana/plugin-e2e to v1.8.1 2024-09-25 11:06:34 +00:00
Josh Hunt
d2d1de39a7 GrafanaUI: Make Drawer extend to full height (#93725) 2024-09-25 12:05:20 +01:00
Ben Sully
4791d91408 fix(datasources): add option to avoid adding '-- Grafana --' DS (#90175)
* fix(datasources): add option to avoid adding '-- Grafana --' DS

Currently the `getList` method of `DatasourceSrv` adds the
'-- Grafana --' datasource in the majority of situations, unless a few
of the other filters are set, all of which affect the results in other
ways. This is the case even if the `filter` function is passed.
This causes the `DataSourcePicker` component to include the
'-- Grafana --' datasource in cases it's unsupported, such as in
Grafana ML where we only support specific datasource types.

This commit adds a new optional `grafana` field to the filter interface.
If explicitly set to `false`, the '-- Grafana --' datasource will not be
added to the list of datasources returned.

This should be backwards compatible and should allow developers to prevent
that datasource from appearing in the `DataSourcePicker`.

Relates to https://github.com/grafana/machine-learning/issues/4578.

* Use filter func to see if we should add '-- Grafana --', instead
2024-09-25 11:04:45 +00:00
renovate[bot]
a0de3ef867 Update dependency @types/node to v20.16.7 2024-09-25 10:46:05 +00:00
Pepe Cano
75900139ae Alerting docs: update Configure Alertmanagers (#93712)
* Alerting docs: update `Configure Alertmanagers`
- clarify alertmanager types
- specify that each alertmanager manages its own alerting resources

* Update docs/sources/alerting/set-up/configure-alertmanager/index.md

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

* Update docs/sources/alerting/set-up/configure-alertmanager/index.md

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

* Update docs/sources/alerting/set-up/configure-alertmanager/index.md

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

* use `Alertmanager` - capitalize the first letter

* Small copy changes

* Minor cosmetic updates to `Add an Alertmanager` section

* Update docs/sources/alerting/set-up/configure-alertmanager/index.md

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-25 12:44:17 +02:00
Josh Hunt
54d52d0bf9 E2C: Add rudderstack reporting for cloud-side token generation (#93334) 2024-09-25 10:23:31 +01:00
renovate[bot]
d447fc3a82 Update dependency re-resizable to v6.10.0 (#93695)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 10:05:54 +01:00
Torkel Ödegaard
d371fae3c8 DashboardScene: Fixes issue with updating repeated panels after coming back from panel edit (#93716) 2024-09-25 11:04:20 +02:00
Joe Blubaugh
14a5d605ae Docs: Remove some duplication in alerting rules docs. (#93376) 2024-09-25 09:11:29 +02:00
Arati R.
2c26053be8 K8s/Folders: Convert additional fields when creating k8s resources (#93395)
* Add separate folder registration function
* Convert to k8s resource directly after legacy create
* Use create command when creating folders
* Set additional fields when converting to k8s resource
* Add created/updated timestamps during conversion
* Refactor UnstructuredToLegacyFolderDTO
* Return errors when doing k8s conversions
2024-09-25 08:56:15 +02:00
grafana-pr-automation[bot]
8c5dfa33d4 I18n: Download translations from Crowdin (#93683)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-25 09:38:23 +03:00
Adela Almasan
1726567fcf Canvas: Restore support for field-level data links (#93708)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-25 05:25:39 +03:00
Adela Almasan
2b94a82baa AngularMigration: Migrate series Graph to BarGauge (#92609) 2024-09-25 00:42:59 +03:00
Isabel Matwawana
1cbe8772c2 Docs: Restructure Search content (#93636) 2024-09-24 16:12:08 -04:00
Tokoro
a0122187b0 Dashboards: Check if Grafana Javascript agent is enabled before using faro.api (#90509)
Check if Grafana Javascript agent is enabled before using faro.api
2024-09-24 22:18:15 +03:00
maicon
377079d8b3 UniStore: Add config to enable periodic DualWriter DataSyncer (#93555)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-09-24 22:03:15 +03:00
Misi
59af06e36a Devenv: Add serve_from_sub_path scenario to nginx devenv (#93691)
Setup serve_from_sub_path scenario with nginx
2024-09-24 19:53:29 +02:00
Andreas Christou
564ee32b04 AzureMonitor: Improve errorsource (#93533)
* Improve errorsource

* Fix imports
2024-09-24 12:45:44 -05:00
Andreas Christou
76c8975b4f AzureMonitor: Deduplicate resource picker rows (#93129)
* Use URI for querying resources in RG

- Ensure resource group names are correctly slash separated

* Update test
2024-09-24 12:45:08 -05:00
Andreas Christou
488e71226b InfluxDB: Add support for LIST arrow type (#93227)
Add support for LIST arrow type
2024-09-24 18:36:07 +01:00
renovate[bot]
7e61d4f80d Update dependency babel-loader to v9.2.1 (#93681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 17:46:50 +01:00
Andreas Christou
090958489c MSSQL: Update dependencies (#93692)
Use appropriate deps and bumpy TS to match root
2024-09-24 19:45:22 +03:00
Misi
d411ce2664 Auth: Use sessionStorage instead of cookie for automatic redirection (#92759)
* WIP: working as expected, has to be tested

* Rename query param, small changes

* Remove unused code

* Address feedback

* Cleanup

* Use the feature toggle to control the behaviour

* Use the toggle on the FE too

* Prevent the extra redirect/reload

 Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>

* Return to login if user is not authenticated

* Add tracking issue

* Align BE redirect constructor to locationSvc
2024-09-24 18:38:09 +02:00
ismail simsek
18f8f38418 Prometheus: Fix query interval string interpolation in query cache (#93678)
fix query interval string interpolation in query cache
2024-09-24 18:03:16 +02:00
Torkel Ödegaard
05dbba4c85 DashboardScene: Fix broken error handling and error rendering (#93680) 2024-09-24 17:59:32 +02:00
Torkel Ödegaard
038d9cabde PanelEdit: Edit the source panel, refactor out VizPanelManager, simplify (#93045)
* Options pane, data pane queries tab and transformations tab working

* Update

* Discard works

* Panel inspect working

* Table viw works

* Repeat options

* Began fixing tests

* More tests fixed

* Progress on tests

* no errors

* init full width when enabling repeat

* Began moving VizPanelManager tests to where the code was moved

* Unlink libray panel code and unit test

* Fixes and unit tests for change tracking and resetting original state and dirty flag when saving

* migrating and improving unit tests

* Done with VizPanelManager tests refactoring

* Update

* Update

* remove console.log

* Removed unnesssary behavior and fixed test

* Update

* Fix unrelated test

* conditional options fix

* remove

* Fixing issue with editing repeated panels and scoping variable to first value

* Minor fix

* Fix discard query runner changes

* Review comment changes

* fix discard issue with new panels

* Add loading state to panel edit

* Fix test

* Update

* fix test

* fix lint

* lint

* Fix

* Fix overrides editing  mutating fieldConfig

---------

Co-authored-by: alexandra vargas <alexa1866@gmail.com>
2024-09-24 17:13:32 +02:00
Oscar Kilhed
9adb7b03a7 Remove buildstamp from build hash. Version and commit should be enough (#93658)
Remove buildstamp from build hash, version and commit should be enough
2024-09-24 17:10:29 +02:00
Torkel Ödegaard
ae5a7a53a9 TimePicker: Support strings in ISO formats (#93479)
* TimePicker: Support strings in ISO formats

* changed fix and added test
2024-09-24 17:00:15 +02:00
renovate[bot]
db697a3e23 Update dependency @rollup/plugin-node-resolve to v15.3.0 (#93677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 15:43:03 +01:00
Kristina
002f872ce1 Correlations: Allow correlations to target URLs (#92442)
* Pass one

* Fix linter and add new betterer problem (sorry)

* fix swagger

* Add type to tests and update single correlations sql

* Fix provisioning test and other function that needs a type

* Add errors around query/external typing and add tests

* increment number of correlations tested as we added one for testing v1 type placement

* try merging back the swagger that is in main

* try again?

* Style form a little

* Update public/app/features/logs/components/logParser.ts

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

* fix bad commit, simplify logic

* Demonstrating type difficulties

* Fix distributed union changes

* Additional type changes

* Update types in form

* Fix swagger

* Add comment around the assertion and explicit typing

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com>
2024-09-24 09:38:17 -05:00
renovate[bot]
8da1d78c92 Update dependency @grafana/faro-web-tracing to v1.10.0 (#93666)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 15:16:26 +01:00
Jihoon Park
4290d0e459 Docs: fix typo in developers/http_api/data_source.md (#93650) 2024-09-24 14:08:43 +00:00
Piotr Jamróz
813e1c1364 Correlations: Limit access to correlations page to users who can access Explore (#93519)
Correlations: Limit access to correlations page to users who can access Explore
2024-09-24 16:02:02 +02:00
Joey
d30dc3ad50 TraceView: Fix for toString() usage in span filters (#93648)
Fix for toString() usage
2024-09-24 14:47:22 +01:00
Torkel Ödegaard
ae6ea459b9 DashboardScene: Do not add hide flags to URL (#93641)
* DashboardScene: Do not add hide flags to URL

* Update
2024-09-24 15:24:56 +02:00
Karl Persson
c28b37a67b RBAC: Add option to skip rbac check for specified verbs (#93654)
* Add option to skip rbac check for specified verbs
2024-09-24 15:13:04 +02:00
renovate[bot]
b04799dab9 Update dependency @types/node to v20.16.6 2024-09-24 12:58:22 +00:00
Will Browne
52f8cecd4a Plugins: Add state logs for plugin client retrieval (#93630)
* add state to grpc plugin

* tidy

* fix lint

* fix issues

* return true

* use defer

* update err message
2024-09-24 15:55:02 +03:00
Ashley Harrison
a54308138f Navigation: Remove bodyScrolling toggle and make it default (#93652)
* remove bodyScrolling toggle and make it default

* fix e2e tests
2024-09-24 13:23:18 +01:00
Oscar Kilhed
7f7fed8c3c Playlists: Check if playlist is playing before reloading for assets (#93605)
* Check if playlist is playing before updating

* add tests
2024-09-24 14:00:03 +02:00
Torkel Ödegaard
f04e032cf1 FieldOverrides: Clear displayName caching after applying field overrides (#93651)
* FieldOverrides: Clear displayName caching after applying field overrides

* Remove old comment
2024-09-24 13:51:02 +02:00
renovate[bot]
5193318c56 Update dependency @types/lodash to v4.17.9 2024-09-24 11:47:46 +00:00
Jean-Philippe Quéméner
bfc6c032c4 refactor(alerting): remove transformation that is now done by the querier (#93660) 2024-09-24 14:46:03 +03:00
renovate[bot]
314f770a71 Update Yarn to v4.5.0 (#93626)
* Update Yarn to v4.5.0

* commit new version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-09-24 14:03:04 +03:00
Todd Treece
3221f493f9 K8s: Prevent registration of frontend datasources (#93635) 2024-09-24 06:39:11 -04:00
Vitaly Orlov
4e93e2c7f1 Jaeger: Add references to trace view UI (#92607)
* Jaeger: Add references to trace view UI

* Fixes

* Fix tests

---------

Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
2024-09-24 12:38:13 +02:00
Victor Marin
764ec264c8 Fix deps on panel options (#93647) 2024-09-24 13:23:00 +03:00
grafana-pr-automation[bot]
2ceb3c699d I18n: Download translations from Crowdin (#93322)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-24 13:19:39 +03:00
renovate[bot]
fa25b10bf8 Update dependency @floating-ui/react to v0.26.24 (#93580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-24 09:58:58 +01:00
Gabriel MABILLE
6b89e3f711 go.mod: Authlib update (#93642) 2024-09-24 09:41:52 +02:00
Torkel Ödegaard
6c63aec586 Calendar/TimePickers: By default use the system/user start of week (#93464)
Calendar: Should automatically use user or system start of week
2024-09-24 08:19:55 +02:00
Claudiu Dragalina-Paraipan
a8b07b0c81 [authn] use authlib client+interceptors for in-proc mode (#93124)
* Add authlib gRPC authenticators for in-proc mode

* implement `StaticRequester` signing in the unified resource client
- [x] when the `claims.AuthInfo` value type is `identity.StaticRequester`, and there's no ID token set, create an internal token and sign it with symmetrical key. This is a workaround for `go-jose` not offering the possibility to create an unsigned token.
- [x] update `IDClaimsWrapper` to support the scenario above
- [x] Switch to using `claims.From()` in `dashboardSqlAccess.SaveDashboard()`

---------

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-09-24 09:03:48 +03:00
Charandas
db97da3465 K8s: handle multiple versions of the same group in standalone mode (#93199) 2024-09-23 19:07:52 -07:00
Matthew Jacobson
e699348d39 Alerting: Managed receiver resource permission in provisioning (#93631)
* Alerting: Managed receiver resource permission in provisioning
2024-09-23 17:52:14 -04:00
Brian Gann
5c9486afbc area/configuration: adds docs for actions_allow_post_url security option (#93629)
adds docs for actions_allow_post_url security option
2024-09-23 15:41:29 -04:00
owensmallwood
4c8f6b742b Grafana: Skip flaky test influxdb (#93627)
* skip flaky test

* remove slack link
2024-09-23 21:37:13 +03:00
Matthew Jacobson
6652233493 Alerting: Managed receiver resource permission in receiver_svc (#93556)
* Alerting: Managed receiver resource permission in receiver_svc
2024-09-23 21:12:25 +03:00
renovate[bot]
ff37d477fd Update dependency react-select to v5.8.1 2024-09-23 17:15:58 +00:00
brendamuir
5a1a3204c9 Alerting docs: adds ha-advertise-address to alerting docs (#93303)
* Alerting docs: adds ha-advertise-address to alerting docs

* Change description of setting [ha_advertise_address]

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-09-23 19:14:34 +02:00
Will Browne
7cd546238b Revert "Plugins: Add logs for plugin proto client retrieval" (#93617)
Revert "Plugins: Add logs for plugin proto client retrieval (#93527)"

This reverts commit ccf6fbebfa.
2024-09-23 19:26:02 +03:00
renovate[bot]
eee7270b07 Update dependency rc-tooltip to v6.2.1 2024-09-23 19:19:24 +03:00
antonio
f16f0c2e46 autotriager:update commands.json (#93613)
autotriager:updated commands.json
2024-09-23 18:55:48 +03:00
Adela Almasan
d630e9bcb3 Chore: Update Action interface (#93248)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-09-23 10:41:05 -05:00
renovate[bot]
026748a5ab Update dependency rc-slider to v11.1.6 2024-09-23 18:38:45 +03:00
Alexander Zobnin
5e713673e1 Annotations: Optimize search by tags (#93547)
* Annotations: Optimize search on large number of dashboards

* refactor

* fix batch size

* Return early if no annotations found

* revert go.mod

* return nil in case of error

* Move default limit to the API package

* fix empty access control filter

* Set default limit to 100

* optimize query when number of annotations is less than limit

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

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

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

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

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

* use limit trick for all searches without dashboard filter

* set default page if not provided

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-09-23 17:29:29 +02:00
linoman
5bc7a47ecb Auth: Update extra_hosts property (#93545)
Update extra_hosts property
2024-09-23 17:21:09 +02:00
renovate[bot]
f314220be1 Update dependency postcss to v8.4.47 2024-09-23 15:18:40 +00:00
Misi
d6f4246f77 Docs: Update SAML docs (#93379)
SAML docs update
2024-09-23 17:16:53 +02:00
renovate[bot]
a20a0debf7 Update dependency msw to v2.4.9 2024-09-23 14:59:01 +00:00
Gabriel MABILLE
7714b65f32 Cfg: Deduplicate DefaultOrgID code (#93588)
Cfg: Expose DefaultOrgID function
2024-09-23 16:50:11 +02:00
renovate[bot]
d38e2feab9 Update dependency knip to v5.30.5 2024-09-23 17:33:16 +03:00
Juan Cabanas
cedd66cefc ShareDrawer: Export as JSON code editor fix (#93593) 2024-09-23 16:31:23 +02:00
owensmallwood
8bbfbc61be Unified Storage: Adds a few readme updates from issues I ran into with local dev (#93553)
adds a few readme updates from issues I ran into with local dev
2024-09-23 08:25:19 -06:00
Mat Ryer
b9d325884b update 'Simplified exploration' page (#93565)
* update 'Simplified exploration' page

* removed extra 'Explore' heading, which is a little confusing in this context
* simplified the intro text to sound more like the rest of the docs

* Update docs/sources/explore/simplified-exploration/_index.md

Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>

---------

Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
2024-09-23 10:21:24 -04:00
Alexa V
067ea66cbb Dashboard: Annotations - Fix issue of angularEditorLoader when angular is not supported (#93583)
Dashboard: Annotations - Fix issue of angularEditorLoader when angular is not supported
2024-09-23 16:17:59 +02:00
renovate[bot]
1a13e7fd95 Update dependency @types/systemjs to v6.15.1 2024-09-23 14:11:17 +00:00
Premkumar Chalmeti
ac9015bb2f Update _index.md (#93572)
Updated `grafana.ini` file path for macOS apple sillicon
2024-09-23 09:10:36 -05:00
Andres Martinez Gotor
a45167a595 Remove backgroundPluginInstaller feature flag (#93540) 2024-09-23 15:49:18 +02:00
renovate[bot]
07f11e9222 Update dependency @rollup/plugin-node-resolve to v15.2.4 2024-09-23 13:37:26 +00:00
maicon
d60351d8e8 Unistore: fix DualWriter context cancelation on mode 1 (#93377)
* Unistore: fix DualWriter context cancelation on mode 1

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-09-23 10:34:36 -03:00
renovate[bot]
83cde35668 Update dependency @playwright/test to v1.47.2 2024-09-23 13:12:56 +00:00
Tom Ratcliffe
cc68f1b673 Alerting: Fix sending secure settings when using K8S API for contact points (#93498) 2024-09-23 14:02:58 +01:00
renovate[bot]
bcab60d9e6 Update dependency @msagl/parser to v1.1.23 2024-09-23 12:47:18 +00:00
Galen Kistler
26b039bb81 Prometheus: Incremental query cache keep extra datapoint before new 'from' (#93186)
* fix: keep extra datapoint before new 'from' when evicting datapoints in incremental query cache

* remove redundant comments

* Update todo

* move prometheus specific code in a new function

* add unit test

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-09-23 14:45:31 +02:00
renovate[bot]
5a2f22c60d Update dependency @msagl/core to v1.1.23 2024-09-23 12:23:10 +00:00
renovate[bot]
861423a209 Update dependency nx to v19.8.0 (#91393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 12:30:35 +01:00
Juan Cabanas
bafb69d877 ShareDrawer: GA enablement (#93344) 2024-09-23 13:28:48 +02:00
renovate[bot]
08b2805d07 Update dependency esbuild to v0.24.0 (#87650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 12:27:38 +01:00
antonio
c78ea87751 Docs > alerting: example of conditional notification based on labels (#93541)
* Docs > alerting: example of conditional notification based on labels

* typos

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

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-23 10:24:09 +00:00
Hugo Kiyodi Oshiro
6f3f8c0e99 Plugins: Add rudderstack events to plugins update (#92989) 2024-09-23 11:52:46 +02:00
Misi
b369341868 Chore: Add feature toggle for session storage redirect handling (#93575)
Add feature toggle for session storage redirect handling
2024-09-23 12:31:23 +03:00
Karl Persson
2e38329026 RBAC: Add required component to perform access control checks for user api when running single tenant (#93104)
* Unexport store and create new constructor function

* Add ResourceAuthorizer and LegacyAccessClient

* Configure checks for user store

* List with checks if AccessClient is configured

* Allow system user service account to read all users

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-09-23 11:26:44 +02:00
Matias Chomicki
bca8bd3c8b Logs: Added query splitting support for forward searching logs (#93450)
Query splitting: add support for forward searching logs
2024-09-23 11:22:06 +02:00
Sven Grossmann
7189a4af81 Loki: Add UI support for detected_level (#93574)
feat(detected_level): Add UI support for `detected_level`
2024-09-23 11:20:16 +02:00
Karl Persson
da60c561a8 Docs: Update to use correct config key for saml token url (#93569)
Update to use correct config key for saml token url
2024-09-23 09:19:38 +02:00
Kim Nylander
76d5608473 [DOC] Add landing page for simplified exploration (#93515)
* Add landing page for simplified exploration

* shortened the sentences

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Mat Ryer <matryer@users.noreply.github.com>
2024-09-21 01:47:21 -04:00
Matthew Jacobson
1ede1e32b8 Alerting: Receiver resource permissions service (#93552) 2024-09-20 18:31:42 -04:00
Matthew Jacobson
7398fe3fcb Alerting: Proxy RouteDeleteAlertingConfig through MultiOrgAlertmanager (#93549)
Proxy RouteDeleteAlertingConfig through MultiOrgAlertmanager
2024-09-20 15:25:14 -04:00
Will Browne
ccf6fbebfa Plugins: Add logs for plugin proto client retrieval (#93527) 2024-09-20 17:36:11 +01:00
Ezequiel Victorero
e22540b763 PublicDashboards: Fix import email sharing api (#93480) 2024-09-20 17:00:02 +01:00
Alexander Akhmetov
0ed70d0b2f Alerting: Add a metric to track the number of rules with simplified editor settings (#93511)
* Alerting: Add a metric to track the number of rules with simplified editor settings
2024-09-20 17:56:40 +02:00
Isabella Siu
fac98d9084 Elasticsearch: Fix source for invalid query error (#93501) 2024-09-20 11:06:30 -04:00
Isabella Siu
2ad558d046 CloudWatch: Fix segfault when migrating legacy queries (#93543) 2024-09-20 10:54:34 -04:00
Georges Chaudy
216b63549d unistore: fix watch events forever looping (#93517) 2024-09-20 15:51:09 +02:00
Syerikjan Kh
715ee35abc RBAC: Check forceLogin inside CanAdminPlugins (#93449) 2024-09-20 09:35:58 -04:00
Eric Leijonmarck
f9ad81f715 LBAC for datasources: Allow self serve (#93477)
* LBAC for datasources: Allow self serve

* capitilized LogQL
2024-09-20 14:24:40 +01:00
brendamuir
a2859de5b6 Alerting docs: updates duration type to string (#93532)
* Alerting docs: updates duration type to string

* ran prettier
2024-09-20 14:55:44 +02:00
Gabriel MABILLE
8d84517103 AuthN: Introduce DefaultOrgID function for managed service accounts (#93432)
* Managed Service Accounts: Use AutoAssignOrgID

* Fix the IsExternalServiceAccount function

* Reassign service account role

* Account for AutoAssignOrg

* Update pkg/services/serviceaccounts/models.go

* Simplify IsExternalServiceAccount function

* Add tests

* Easier to understand test

* Revert small change
2024-09-20 14:43:29 +02:00
renovate[bot]
bb69afed7c Update dependency @grafana/faro-web-sdk to v1.10.0 (#93347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-20 11:32:47 +01:00
Timur Olzhabayev
e32810b9f2 Docs: Clarifying the messaging around dependencies a bit more (#93029)
* Clarifying the messaging around dependencies a bit more

* Update docs/sources/developers/plugins/plugin.schema.json

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>

---------

Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
2024-09-20 10:23:17 +00:00
Andreas Christou
e18d029a24 GCM: Improve error handling (#93474)
* Improve error handling

* More manual errorsource

* Revert some changes from original PR

* Update test
2024-09-20 10:40:05 +01:00
ismail simsek
19c7e1f376 Chore: Refactor explore metrics breakdown scene (#93368)
* refactor breakdown scene

* refactor BreakdownScene along with LayoutSwitcher

* rename

* don't pass default layout

* better type handling

* betterer

* add @bsull/augurs

* implement LabelBreakdownScene

* integrate SortByScene in LabelBreakdownScene

* move to new directory

* introduce BreakdownSearchScene

* integrate searchScene

* cleaning

* initialize @bsull/augurs

* add interaction

* use new breakdown scene

* resolve merge conflicts

* ugrade @bsull/augurs

* update import

* update css

* update tooltip text

* refine sorting

* fix unit test

* fix

* implement outlier detector

* support wasm

* jest testing fix

* localization fix

* use unknown instead of any

* update i18n

* update betterer

* fix locales

* update test

* fix tests maybe

* prettier

* chore: update jest config

* chore: create mock for @bsull/augurs (#92156)

chore: create mock for bsull/augurs

@bsull/augurs assumes it will be running as an ESM, not
a CommonJS module, so can't be loaded by Jest (specifically
because it contains a reference to import.meta.url).

This PR provides a mock implementation which gets tests passing
again.

Ideally we'd be able to load the actual @bsull/augurs module
in tests so this is just a stopgap really, until a better
solution appears.

* fix unit tests

* remove unused BreakdownScene.tsx

* set outliers as undefined if an error occurs

* Add labels

* betterer

* reset event implemented

* fix controls positioning

* remove sorting

* fix type guard

* more clean up

* remove wasm support from webpack

* betterer

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
Co-authored-by: Ben Sully <ben.sully@grafana.com>
2024-09-20 10:22:34 +02:00
Andres Martinez Gotor
74b2d38e37 Chore: Update grafana-plugin-sdk (#93426) 2024-09-20 10:20:59 +02:00
Matheus Macabu
945484232c CloudMigrations: remove unused code from sync migration approach (#93430) 2024-09-20 08:58:11 +02:00
Andrew Hackmann
8b6cec2356 Azure Monitor: Blank result formats are not overwritten (#93493)
* if result format is null from previous query, it will be null and not correct to a different format

* update to not have empty value in result format field

* fix tests

* add check to see if options are in list

* reformat stuff so logic lives on the right layer

* linterrrrrrrrrrrrrrrrrrRR

* Apply suggestions from code review

* if result format is null from previous query, it will be null and not correct to a different format

* update to not have empty value in result format field

* fix tests

* add check to see if options are in list

* reformat stuff so logic lives on the right layer

* linterrrrrrrrrrrrrrrrrrRR

* frontend linter

* linter

* feedback :)
2024-09-20 02:30:03 +03:00
William Wernert
f1ba7deff5 Alerting: Also clear fields in model/store validation for recording rules (#93506)
* Fix model validation

* Remove validation from provisioning service
2024-09-20 00:27:37 +03:00
Larissa Wandzura
9a40e8dca6 Docs: Removed public preview note from Explore Metrics (#93503)
removed public preview, EM is now GA
2024-09-19 16:21:26 -05:00
Aaron Godin
735332570f feat: GroupSync extension UI (#91777)
* feat: supporting code for groupsync extension UI

* Add result of running i18n extraction

* Place the UI behind a feature toggle as well as the license feature

* Also add access checks to route loading of groupsync route with feature toggle

* Add access check on permissions to show External group sync in nav

* fix: New version of multiOrgRoleOptions hook

* Remove OSS route definition

* Apply feedback on nav title
2024-09-19 14:58:11 -05:00
Alexander Weaver
534bfba7e3 Alerting: Use typed errors in prometheus remote writer (#93500)
Strongly typed writer errors
2024-09-19 13:34:35 -05:00
lean.dev
5522c3a01b Grafana: Adds support for PKCS1 encrypted certs (#93451) 2024-09-19 15:03:06 -03:00
Jean-Philippe Quéméner
caa967b270 fix(querier): handle single alerting queries without expression (#93497) 2024-09-19 19:20:39 +02:00
Michael Mandrus
f4c5c5c418 Chore: Fix flaky cloud migration test due to ordered steps running in parallel (#93491)
don't run test in parallel
2024-09-19 18:45:02 +03:00
Alexander Akhmetov
9f5b05f936 Alerting: Add metadata field with editor_settings to alert rule (#93245) 2024-09-19 16:43:41 +02:00
Brendan O'Handley
4d1adf9db4 Explore Metrics: Get OTel resources and filter metrics and labels (#91221)
* add OTel filter in metric select scene

* add resource query to get matching OTEL job&instance

* filter metrics by OTEL resources

* only add otel select if DS has OTEL matching job and instance

* add folder for otel resources

* upate metric select for new otel folder

* move otel api call

* get otel resources for labels for single series job/instance target_info

* add otel resources to adhoc variable dropdown

* update otel api to check for standardization and return labels

* label types for api

* check standardization, show otel variable, select depenv, update other variables

* remove otel target list from metric select scene

* load resources if dep_env label has already been selected

* exclude previously used filters

* do not check standardization if there are already otel filters

* drop filters when switching data sources

* add experience var for switching to otel experience

* remove otel from variables and place near settings

* add error for non-standard prom with otel resources

* fix typescript errors, remove ts-ignores

* add custom variable for deployment environment like app-olly

* fix name of otel variable

* add function for getting otel resources from variables

* add otel join query const

* update standard check to be simpler

* allow for unstandard otel data sources but give warning

* add otelJoinQuery to the base query and clean up variables when state changes

* refactor otel functions to return filters for targets, use targets to filter metrics

* update metric names on otel target filter change

* when no otel targets for otel resource filter, show no metrics

* move switch to settings, default to use experience, refactor otel checks

* clean code

* fix refactor to add hasOtelResources for showing the switch in settings

* sort otel resources by blessed list

* reset otel when data source is changed

* move otel experience toggle back outside settings

* move showPreviews into settings

* do not re-add otel resources from blessed list to filters when already selected

* add otel join query variable to histogram base query

* only show settings for appropriate scenes

* show info tooltip the same but show error on hover for disabling otel exp for unstandard DS

* refactor tagKeys and tagValues for otel resources variable, fix promoted list ordering, fix dep env state bug

* default dep env value

* apply var filters only where they are using VAR_FILTER_EXPR in queryies

* change copy for labels to attributes

* do not group_left job label when already joining by job

* update copy for label variable when using otel

* remove isStandard check for now because of data staleness in Prometheus

* default to showing heatmap for histograms

* add trail history for selecting dep env and otel resources

* add otel resource attributes tests for DataTrail

* move otel functions to utils

* write tests for otel api calls

* write tests for otel utils functions

* fix history

* standard otel has target_info metric and deployment_environment resource attributes

* fix tests

* refactor otel functions for updating state and variables

* clean code

* fix tests

* fix tests

* mock checkDataSourceForOtelResources

* fix tests

* update query tests with otelJoinQuery and default to heatmap for _bucket metrics

* fix tests for otel api

* fix trail history test

* fix trail store tests for missing otel variables

* make i18n-extract

* handle target_info with inconsistent job and instance labels

* fix otel copy and <Trans> component

* fix custom variable deployment environment bug when switchiing data sources from non otel to otel

* fix linting error for trans component

* format i18nKey correctly

* clean up old comments

* add frontend hardening for OTel job and instance metric list filtering

* fix test for deployment environment custom variable to use changeValueTo

* fix i18n

* remove comments for fixed bug

* edit skipped tests
2024-09-19 09:34:31 -05:00
Ryan McKinley
542105b680 ResourceClient: Exercise resource client in k8s apis tests (#93473) 2024-09-19 17:16:48 +03:00
linoman
63195664f4 SSO LDAP: Fix ldap provider in providers list (#93472)
* Correct comment about provider filter

* Add type for LDAP provider

* Ignore old LDAP init setup when using SSO
2024-09-19 16:05:55 +02:00
Will Browne
362ffff591 Plugins: Avoid returning 404 for AutoEnabled apps (#93436)
avoid errors for autoenabled apps
2024-09-19 14:00:34 +01:00
Jack Baldry
d5f205fdef Update workflows to use actions that don't need organization secrets (#92603) 2024-09-19 13:53:45 +01:00
Gabriel MABILLE
7ef13497a8 AuthN: Ext JWT support actions (#92486) 2024-09-19 14:25:43 +02:00
Ryan McKinley
1e3816a6f8 K8s/Dashboard: Read DTO from the registered storage, not just legacy (#93406) 2024-09-19 12:45:32 +03:00
Esteban Beltran
b48f288583 Chore: Change condition to run auto triager based on user association (#93466) 2024-09-19 11:49:54 +03:00
Ryan McKinley
f21a5987a2 Plugins: Expose datasources as apiservers feature toggle (#93250) 2024-09-19 11:28:27 +03:00
Ashley Harrison
73eff837e8 Select: Fix last option in an option group to be selectable (#93457)
don't completely overwrite innerProps
2024-09-19 09:05:23 +01:00
DaRK AnGeL
224e96effa Chore: Add ILS (Israeli New Shekels) currency to value formatter (#93390)
add ILS to Currency
2024-09-19 08:05:28 +02:00
Jean-Philippe Quéméner
4f04b5849e feat(apiserver): add flag to control the request size limit (#93431) 2024-09-18 20:39:32 +03:00
Torkel Ödegaard
d177e57f7e DashboardScene: Fix url state sync issue when coming form Home dashboard to a cached dashboard scene (#93442)
* DashboardScene: Fixes preserve dashboard state for hidden options

* DashboardScene: Alt fix for pervering only specific url keys

* DashboardScene: Fixes url sync issue when coming from Home route

* Update

* Fix test
2024-09-18 17:57:15 +02:00
ismail simsek
37e4353a18 Chore: Fix running frontend unit tests in JetBrains (#93441)
read the files with their absolute paths
2024-09-18 17:51:58 +02:00
Andreas Christou
6a3dbe7d41 AzureMonitor: Improve resource picker efficiency (#93127)
* Parameterise region building metric namespace URL

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

* Refactor fetchAllNamespaces

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

* Maintain existing behaviour
2024-09-18 15:17:36 +01:00
Jean-Philippe Quéméner
72bfa624ce fix(apiserver): append errors correctly from options (#93434) 2024-09-18 16:38:59 +03:00
Eric Leijonmarck
6ee7f7dc79 Docs: Add http docs for lbac for datasources (#93399)
* Add: http docs for lbac for datasources

* spelling

* update with only cloud loki

* rename to lbac for datasources

* moved it

* Update _index.md

This commit fixes minor style and punctuation issus

* change datasource to data source

* replace datasource with data source

minor updates and style fixes

* minor style changes

* prettier

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-09-18 11:54:21 +01:00
Juan Cabanas
af42f31fe6 ShareDrawer: Update documentation link buttons (#93339) 2024-09-18 11:53:02 +01:00
wt
f7232b997c Dashboards: Fix typo in PublicDashboardNotAvailable component (#93418) 2024-09-18 12:56:08 +03:00
Alexander Zobnin
3e1fd80831 Docs: Add announcement banners to list of RBAC actions (#93421) 2024-09-18 11:54:11 +02:00
kay delaney
98a4d2858a Dashboards: Fix 'days' unit pluralization (#93326) 2024-09-18 10:00:42 +01:00
Esteban Beltran
eb3f64b3f8 Chore: Fix issue-labeled workflow permission errors (#93417)
* Chore: Fix issue-labeled workflow permission errors

* fix comparison
2024-09-18 11:09:53 +03:00
Gabriel MABILLE
bfb25e33eb RBAC: AccessControlOnCall general availability (#93383)
RBAC: GA accessControlOnCall
2024-09-18 08:58:05 +02:00
Alexander Akhmetov
e59ea00518 Alerting: Add TLS, QoS and retain options to the MQTT receiver (#92331) 2024-09-17 21:11:16 +02:00
Ryan McKinley
b52e6ba552 Chore: Convert tabs to spaces in playlists.cue (#93403) 2024-09-17 20:09:54 +03:00
Yuri Tseretyan
0f788d8d83 Alerting: Support for renaming receivers (#93349)
* update RenameReceiverInNotificationSettings in DbStore to check for provisioning

* implement renaming in receiver service and provisioning

* do not patch route when stitching

* fix bug in stitching because it returned new name but the old one was expected

* update receiver service to always return result converted from storage model this makes sure that UID and version are consistent with GET\LIST operations

* use provided metadata.name for UID of domain model because rename changes UID and request fails

* remove rename guard

* update UI to not disable receiver name when k8s api enabled

* create should calculate uid from name because new receiver does not have UID yet.
2024-09-17 19:07:31 +03:00
linoman
fb0d3b944a SSO LDAP: Fix search base dns parsing (#93179)
* Fix parse of

* Add i18n files

* Add default value

* Replace input field with multiselect

* rename delete form function

* Use Controller for MultiSelect
2024-09-17 17:52:53 +02:00
Matthew Jacobson
1ea873950b Alerting: Reject receiver update in config API when FlagAlertingApiServer enabled (#93300)
* Reject receiver update in config API when FlagAlertingApiServer enabled
2024-09-17 16:49:17 +03:00
kay delaney
cbf2aa993e LibraryPanels: Fix folderUid nil pointer dereference (#93400) 2024-09-17 13:03:49 +00:00
Oscar Kilhed
4d50cb2b7b Scenes: Ensure scenes dashboards interpolate variables in sql queries the same as old arch (#93270)
Ensure scenes dashboards interpolate variables in sql queries the same as old arch
2024-09-17 13:33:06 +01:00
Levente Balogh
f0ce33e569 Plugin.json schema: Update the meta-info for extensions (#92732)
* feat(plugin.json): update the extensions definition schema

* feat(plugin.json): add `exposedComponents` definition to the dependencies

* feat(plugin.schema.json): add descriptions for the new schema fields

* review: wrap extensions related dependencies

* review: add a pattern for the extension point id

* review: add a min-length to added link & component titles

* add a pattern to the exposed component id
2024-09-17 12:06:23 +00:00
Jean-Philippe Quéméner
10314585ec fix(alerting): extend instant vector check for non-nullable types (#93323) 2024-09-17 13:20:40 +02:00
Misi
41cd0f5180 Auth: Add improvedExternalSessionHandling feature toggle (#93385)
Add improvedExternalSessionHandling feature toggle
2024-09-17 13:54:39 +03:00
Esteban Beltran
43cad93e62 Chore: use github app for issue commands workflow (#93304)
* Chore: use github app for issue commands workflow

* use it in issue-opened too

* update comments and permissions

* use issue app for triager token

* add spaces

* add config as requirement

* only run main if it has secrets

* Check for repository name,

* remove config work

* get secrets after sleep
2024-09-17 12:32:58 +02:00
antonio
aee9458d98 alerting>docs>notification template example (#93330)
* alerting>docs>notification template example

* all pretty no pity

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

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

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

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

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

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

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

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

* replaced future tense

* pretty

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-17 10:27:44 +00:00
Artur Wierzbicki
1782b3dd39 Chore: Add update-workspace to build-go deps (#93386)
* Revert "Chore: Remove update-workspace from build-go deps (#93352)"

This reverts commit 8a712fd510.

* workspace update changes
2024-09-17 12:47:00 +03:00
Jan-Otto Kröpke
e2bce38a79 App Plugins: Allow resource handle to define Cache-Control Header (#92559) 2024-09-17 10:28:38 +02:00
Matheus Macabu
4f21ecf982 CloudMigrations: improve nil handling (#93257)
* CloudMigrations: fail token decryption if session is not found or without a token

* CloudMigrations: do not report event if session is nil
2024-09-17 08:59:47 +02:00
Ieva
f72401e23b Docs: Add a doc page for RBAC for app plugins (#93274)
add a doc page for RBAC for app plugins
2024-09-16 10:14:52 +01:00
Todd Treece
d1ffcc22d9 Playlists: Migrate to App SDK codegen (#93246) 2024-09-13 16:27:40 -04:00
Todd Treece
8a712fd510 Chore: Remove update-workspace from build-go deps (#93352) 2024-09-13 14:09:09 -06:00
Todd Treece
80795fcfd5 Aggregator: Add README and example query (#93351) 2024-09-13 22:55:26 +03:00
Andrew Hackmann
3df62c28bb InfluxDB: Add Influx to check if series need to be fixed labels (#93299)
add influx to check if series need to be fixed labels
2024-09-13 14:05:15 -05:00
Matthew Jacobson
3bf77d2e05 Alerting: Include in-use metadata in k8s receiver LIST & GET (#93016)
* Include in-use metadata in k8s receiver List & Get
2024-09-13 20:20:09 +03:00
Matthew Jacobson
bd9fc8127b Alerting: Fix config api POST provenance guard (#93244)
* Add failing tests

* Fix bug in provenance guard on renaming receivers or moving integrations

* Linting
2024-09-13 12:42:33 -04:00
renovate[bot]
a5c122af78 Update dependency msw to v2.4.6 2024-09-13 16:06:46 +00:00
Juan Cabanas
683dbcf57c ShareDrawer: Flaky test fixed (#93345) 2024-09-13 19:04:52 +03:00
Will Browne
ffbf6cf72d Plugins: Add test case for relative parent directory path (#93338)
add case for testing relative path
2024-09-13 18:30:19 +03:00
brendamuir
bb923db279 Alerting docs: improve alert rule definitions (#93321)
* Alerting docs: improve alert rule definitions

* more edits

* corrects numbering
2024-09-13 17:29:48 +02:00
renovate[bot]
7ea2410272 Update dependency @grafana/faro-web-sdk to v1.10.0 (#93335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 16:25:58 +01:00
Gilles De Mey
70b5bd609c Alerting: Update rules empty state CTA (#93276) 2024-09-13 18:21:17 +03:00
Victor Marin
a214fbd7cf Fix panels in rows stuck in loading (#93168)
* Fix panels in rows stuck in loading

* fix

* fix + tests

* force reperform in case All value is selected and actual options change

* bump scenes so tests pass

* redo yarn.lock

* redo yarn.lock
2024-09-13 17:51:12 +03:00
oscarkilhed
ad6cd55301 update tests to include Selected (x) in variable multi select boxes 2024-09-13 17:32:52 +03:00
renovate[bot]
1641570c3e Update dependency @grafana/scenes to v5.14.7 2024-09-13 17:32:52 +03:00
Josh Hunt
9fbd05773a Chore: Clean up old API methods in manage-dashboards/actions (#93329)
Chore: Deprecate createFolder() function, and remove other unused functions
2024-09-13 17:11:41 +03:00
Juan Cabanas
c56870e511 ShareDrawer: Test coverage (#93111) 2024-09-13 11:01:21 -03:00
renovate[bot]
c87b3c4bbf Update dependency @grafana/faro-core to v1.10.0 (#93319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 13:56:57 +01:00
Tom Ratcliffe
f9796f05fe Alerting: Fix sending secure settings when using k8s API (#93320) 2024-09-13 15:01:05 +03:00
Carl Bergquist
56616e69a1 scopes: sort scope dashboard bindings on dashboard title (#93305)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-09-13 07:51:08 -04:00
Sonia Aguilar
d28e76e93b Alerting: Show a warning when contact point has not receivers in it (#93318)
Show a warning when contact point has not receivers in it
2024-09-13 14:40:52 +03:00
Sonia Aguilar
8a743b2e2f Alerting: Fix reseting secure fields (#93278)
fix reseting secure fields
2024-09-13 13:33:26 +02:00
renovate[bot]
48dd1af524 Update dependency knip to v5.30.2 2024-09-13 11:33:11 +00:00
renovate[bot]
cbe850b558 Update dependency rudder-sdk-js to v2.48.18 2024-09-13 11:05:56 +00:00
renovate[bot]
dc2a777edb Update dependency @types/jest to v29.5.13 2024-09-13 10:27:38 +00:00
Sonia Aguilar
be4798096a Alerting: Fix incorrect warning for OnCall integration (#93085)
Remove warning when geting oncall metadata

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-09-13 11:59:00 +02:00
renovate[bot]
1783b47545 Update dependency eslint-plugin-react to v7.36.1 (#93255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-13 10:46:49 +01:00
Raiko Wielk
c539e3627c Docs: Fix broken links in contribute/backend/README.md (#92261)
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
2024-09-13 12:34:31 +03:00
hemerfaSICKAG
d54ede607c Update playlist.md to align with Grafana 11 (#92884)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-09-13 08:59:20 +00:00
Ashley Harrison
161d452841 Chore: Type improvements (#93267)
* some type fixes + ignore graveyard folder

* few more fixes

* remove comment

* ignore global styles

* few more type fixes
2024-09-13 09:50:55 +01:00
Piotr Jamróz
3514504240 Tracing: Remove redundant types (#91835)
* Display event name of a span

* Clean up

* Retrigger the build

* Show colon only when there are fields to display

* Rollback

* Use event name when exporting to OTLP

* Allow filtering spans by event name

* Remove redundant types

* Remove redundant TraceLog

* Update betterer report
2024-09-13 10:05:37 +02:00
Erik Sundell
8c702d4a6b Plugin extensions: Make sure core features use new hooks (#92723)
* use new extensions APIs across grafana core

* setup setPluginLinksHook

* fix tests

* fix mock

* fix more broken tests

* use plugin components hook

* remove unused func

* fix tests

* remove unused import
2024-09-13 09:23:18 +02:00
Andres Martinez Gotor
01a4e6b9af Remove the need for plugins to implement AdmissionHandler for v0alpha1 (#93272) 2024-09-13 09:08:26 +02:00
Kevin Minehart
d60a28b3c8 CI: Update grafanabot github token (#93291)
Update grafanabot github token
2024-09-12 14:37:30 -05:00
Matthew Jacobson
ff6a20f54a Alerting: Include access control metadata in k8s receiver LIST & GET (#93013)
* Include access control metadata in k8s receiver List & Get

* Add tests for receiver access

* Simplify receiver access provisioning extension

- prevents edge case infinite recursion
- removes read requirement from create
2024-09-12 20:57:53 +03:00
Matthew Jacobson
0aa87fd1d4 Alerting: Fix DashboardUID typo in json provisioning api (#65143)
* Alerting: Fix dasboardUid typo in json provisioning api

The json tag for DashboardUID was incorrectly set to dasboardUid in the provisioning api. This change fixes the typo while keeping backwards compatibility for the typo.

* Add alerting-squad as CODEOWNER for services/provisioning/alerting
2024-09-12 20:44:03 +03:00
maicon
d1d578785c Add remaining k8s endpoints for Folders (#93146)
* Add remaining Folders k8s endpoints

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

* Remove duplicated import

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-09-12 14:38:27 -03:00
Yuri Tseretyan
f8fa5286a1 Alerting: Introduce alert rule models in storage (#93187)
* introduce storage model for alert rule tables
* remove AlertRuleVersion from models because it's not used anywhere other than in storage
* update historian xorm store to use alerting store to fetch rules

* fix folder tests

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-09-12 13:20:33 -04:00
Ashley Harrison
0a976f831c Breadcrumbs: Tweak padding so they remain equally spaced (#93284)
tweak breadcrumb padding so it's equally spaced
2024-09-12 19:24:52 +03:00
Drew Slobodnjak
e6f359f90b Transformations: Binary operation on all numbers (#92172)
* Transformations: Binary operation on all numbers

* Handle replaceFields option

* Change left clear out to string

* Handle time field

* Fix filtering

* Update new field names to remove double space

* Add tests

* Add BinaryValue interface and update editor

* Fix initial behavior

* Rollback rendering standards

* Add ctx interpolate

* Fix fixed value variable

* Add function to convert old binary value type

* Update tests for new structures

* Add bullet for all number field option

* baldm0mma/run content build script

* Disable alias control for type matching
2024-09-12 08:50:23 -07:00
Ashley Harrison
dceba35a55 Portal: Fix positioning when bodyScrolling is disabled (#93277)
fix portal when bodyScrolling is disabled
2024-09-12 16:24:36 +01:00
Laura Fernández
2a8f6755d5 Search: add folders and subforders to search info (#93177) 2024-09-12 17:20:54 +02:00
Alexa V
22fe575925 Dashboard Scene: Fix issue for Dashboard Datasource and library panel (#93220) 2024-09-12 16:49:22 +02:00
William Wernert
efe62086f9 Alerting: Add type label rule_group_rules metric (#91425)
* Add group and type labels to rule_group_rules metric

* Don't include group to avoid high cardinality

* Add comments

* Reset rule_group_rules before recording new values

* Edit description for rule_group_rules

* Include ruleGroup combo key in labels

* Fix lint
2024-09-12 17:27:09 +03:00
Ryan McKinley
45eb72e95a K8s: Use wire to initalize the resource client (#93221) 2024-09-12 17:22:27 +03:00
brendamuir
85fbc8e8e5 Alerting docs: some edits to recording rules (#93260)
* Alerting docs: some edits to recording rules

* ran prettier

* removes refs

* fixes link

* fixing links

* corrects typo

* removes type step

* corrects typo
2024-09-12 14:00:12 +00:00
Jean-Philippe Quéméner
eabf3b9f73 feat(alerting): add support for query service instant vectors (#92091) 2024-09-12 15:33:00 +02:00
colin-stuart
04d9fa04a7 Auth: Prevent scheduled token rotation jobs with large delay from rolling back to 1 ms (#93242)
Auth: prevent scheduled token rotation jobs with large delay from rolling back to 1 ms
2024-09-12 09:21:30 -04:00
Tom Ratcliffe
03c48844dd Chore: Remove MSW worker from source control and rely on installation instead (#93268) 2024-09-12 16:03:50 +03:00
Will Browne
3f8d127410 Plugins: Ensure only updateable plugins can be updated via the UI (#93205)
* only updateable plugins can be updated via the UI

* add missing state

* Apply levi brains

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

* apply same style throughout

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-09-12 13:51:50 +01:00
Raiko Wielk
3d9ae801cb Docs: Fix broken links in contribute/**/*.md (#92182)
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-12 15:51:30 +03:00
Esteban Beltran
1c84e76d32 Triager: Add area/query-library to commands.json (#92963) 2024-09-12 14:46:45 +02:00
Arati R.
b918739a98 K8s/Folders: Add basic folder integration tests (create, read) (#93232)
* Add initial folder tests
* Add test for get/reading folders
* Compare legacy and k8s create and read
* Remove dependency on grafanaAPIServerWithExperimentalAPIs
2024-09-12 14:36:46 +02:00
Carl Bergquist
350c227da6 Scopes: Add more logging in custom handler (#93263)
scope api:add more logging in custom handler

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-09-12 15:03:16 +03:00
Jack Westbrook
29243658ce Performance: Code split login page (#92704)
feat(frontend): lazy load login page
2024-09-12 14:01:08 +02:00
Bogdan Matei
2a2813b577 Scopes: Reload dashboards when on scopes change (#92804) 2024-09-12 13:58:45 +02:00
grafana-pr-automation[bot]
ce7533eb3b I18n: Download translations from Crowdin (#93211)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-12 13:20:22 +03:00
brendamuir
98f766a50d Alerting docs: adds recording rule info (#93204)
* Alerting docs: adds recording rule info

* ran prettier

* Updates with feedback from pepe and removes external reference

* couple of minor edits

* removes reference

* feedback from sonia

* adds links per gilles

* adds correct version link
2024-09-12 12:06:23 +02:00
renovate[bot]
bc0d4f9903 Update dependency @grafana/aws-sdk to v0.4.2 (#93253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 10:23:41 +01:00
renovate[bot]
be0f2a131a Update dependency type-fest to v4.26.1 (#93238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-12 09:33:53 +01:00
linoman
785240d51c SSO LDAP: Add LDAP to providers list (#93120)
* Add LDAP to providers list

* fix bug when there are no group mappings
2024-09-12 10:31:24 +02:00
Tito Lins
a910188675 Replace prom MustRegister with Register (#92725) 2024-09-12 10:24:12 +02:00
janlugt
9d6935388c Notifications: Add Message-ID header to outgoing emails (#83752)
* Add Message-ID header to outgoing emails

* change message-id format

* parse adddresses with name
2024-09-12 03:58:06 +00:00
Faye Lin
634d590cf1 Search: Fix a bug when searching folders under the general folder (#91042)
* fix: search returns all folders when folder uid is general
* test: add unit test for FolderUIDFilter when NestedFolders is enabled
2024-09-12 05:55:28 +02:00
renovate[bot]
b5dd8a5e89 Update dependency sass to v1.78.0 (#93237)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 17:25:03 +01:00
renovate[bot]
14e29247aa Update dependency rc-tree to v5.9.0 (#93235)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 17:00:05 +01:00
Ieva
700636b3b9 RBAC: Hide the root level dashboard creation button from users who can't create dashboards on root level (#92942)
hide the root level dashboard creation button from users who can't create dashboards on the root level
2024-09-11 16:40:08 +01:00
Isabel Matwawana
1f7ebde0de Revert "move Search page to Dashboards category" (#93234) 2024-09-11 11:12:24 -04:00
renovate[bot]
d0e2ab642c Update dependency @grafana/plugin-e2e to v1.8.0 (#93228)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 15:34:04 +01:00
Esteban Beltran
7b69d5b44f Add missing permissions for auto-triage bot (#93230) 2024-09-11 16:51:15 +03:00
Will Browne
0469b0f52e Plugins: Ensure fetch loading strategy cases for nested plugins (#93209)
* fix

* fix func name
2024-09-11 16:35:13 +03:00
Andreas Christou
f5926af99a InfluxDB: Update macro regexp (#93040)
Update macro and tests
2024-09-11 14:26:09 +01:00
Raiko Wielk
9d5f8e2998 Docs: Fix broken link in contribute/backend/README.md (#92103)
Co-authored-by: Dave Henderson <dhenderson@gmail.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-11 14:18:56 +01:00
Brendan O'Handley
d41ee6bbc3 Explore metrics: Fix long metrics and labels in landing page (#92443)
* word wrap long metric names

* trunctate long labels

* use css for filters
2024-09-11 08:17:41 -05:00
renovate[bot]
ff5ed75ea9 Update dependency @grafana/scenes to v5.14.3 2024-09-11 13:13:25 +00:00
Leon Sorokin
77eefcbc4c XYChart: Avoid tick collisions on x-axis (#93195) 2024-09-11 08:10:30 -05:00
Ashley Harrison
766e256c5c Chore: Update mockServiceWorker version (#93223)
update version
2024-09-11 16:06:04 +03:00
Todd Treece
b4918f40c4 Chore: Update plugin SDK to v0.248.0 (#93217) 2024-09-11 15:17:29 +03:00
Gilles De Mey
90ee52e8d9 Alerting: New search UI – Part 1 (#91620) 2024-09-11 14:29:26 +03:00
Esteban Beltran
05023d9d31 Enable auto-triager to automatically add labels to community issues (#93206)
* Chore: Enable auto-triager to set labels

* pass the correct token to add labels
2024-09-11 12:53:16 +02:00
Irene Rodriguez
900608b50b Update admonition to show differences across plans (#93202)
As per https://github.com/grafana/support-escalations/issues/11312#issuecomment-2342024943, this PR updates the admonition to reflect that some features such as branding are not available for all plans.
2024-09-11 11:26:42 +01:00
Hugo Kiyodi Oshiro
ecd1a6e421 Plugins: Fix plugins count in update all plugins button (#93126)
* Plugins: Fix plugins count in update all plugins button

* Plugins: Fix new updates filter

* Plugins: Update tests
2024-09-11 12:12:06 +02:00
renovate[bot]
b18593ca4e Update dependency msw to v2.4.5 (#93161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 11:03:29 +01:00
Daniel Strobusch
748425cd66 [docs] remove misplaced heading. (#93166) 2024-09-11 12:59:29 +03:00
Laura Fernández
902c658c9a POC: Refresh footer on SaveDashboardAsForm when title and folder data change by the user (#92330) 2024-09-11 11:51:48 +02:00
Yulia Shanyrova
f88571c2e7 Plugins: Plugin details right panel UI improvements (#93171)
* UI improvements WIP

* change links appearance and layout for plugin details right panel

* Changed external links back

* Update public/app/features/plugins/admin/components/PluginDetailsRightPanel.tsx

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

* Update public/locales/en-US/grafana.json

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

* fix report abuse to report concern

---------

Co-authored-by: David Harris <david.harris@grafana.com>
2024-09-11 11:44:16 +02:00
Ryan McKinley
7efadb0a00 Testing: Integration tests for unified-grpc start a local gRPC server (#93201) 2024-09-11 11:50:14 +03:00
grafana-pr-automation[bot]
91c3e3478a I18n: Download translations from Crowdin (#93185)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-11 09:32:21 +01:00
Ashley Harrison
79a86b9e6a Chore: Improve typings (#93180)
* fix some any's/type assertions

* fix some more any/type assertions
2024-09-11 09:30:33 +01:00
Alex Khomenko
25ebb5b76f Users/teams: Update to be compatible with react router 6 (#93163)
* UserCreatePage: Make compatible with react router 6

* ServiceAccountPage.test: Make compatible with react router 6

* Update TeamPages
2024-09-11 10:02:11 +03:00
Yuri Tseretyan
cb372d3fa8 Alerting: Support secrets in contact points nested fields (#92035)
Back-end:
* update alerting module
* update GetSecretKeysForContactPointType to extract secret fields from nested options
* Update RemoveSecretsForContactPoint to support complex settings
* update PostableGrafanaReceiverToEmbeddedContactPoint to support nested secrets
* update Integration to support nested settings in models.Integration
* make sigv4 fields optional

Front-end:
* add UI support for encrypted subform fields
* allow emptying nested secure fields
* Omit non touched secure fields in POST payload when saving a contact point
* Use SecretInput from grafana-ui instead of the new EncryptedInput
* use produce from immer
* rename mapClone
* rename sliceClone
* Don't use produce from immer as we need to delete the fileds afterwards

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2024-09-10 22:26:23 -04:00
Juan Cabanas
78ce9b8f39 ShareDrawer: Remove URL param in share externally cancel (#93191) 2024-09-10 17:48:45 -03:00
Isabel Matwawana
1c52d7b994 Docs: Update forward direction search for Loki entry (#92875) 2024-09-10 16:48:32 -04:00
Leon Sorokin
e9901acfb4 TimeSeries: Increase y-axis tick density for small-height panels (#93188) 2024-09-10 15:20:24 -05:00
Juan Cabanas
afe457306a ShareDrawer: Change alert texts (#93184) 2024-09-10 17:11:54 -03:00
Andreas Christou
00ace4678c GCM: Add errorsource (#92151)
* Add errorsource

* Minor lint fixes
2024-09-10 19:34:20 +01:00
Oscar Kilhed
acbd50c7d6 GrafanaUI: Add select all toggle to selectbox (#92483)
* Add select all toggle
2024-09-10 20:33:17 +02:00
Ryan McKinley
d724d463b1 DualWriter: Add mode 5 that always uses storage (#93169) 2024-09-10 13:07:06 -04:00
Gilles De Mey
c8dc4d93d4 Alerting: Rename list view section titles (#93182) 2024-09-10 19:31:11 +03:00
Gabriel MABILLE
697afc71b4 RBAC: FIX Allow specifying several valid scopes for a kind (#93176)
* PermRegistry: Fix regression with actions applying to multiple scopes

* Add tests

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-09-10 17:22:40 +01:00
Irene Rodriguez
3f9227183d move Search page to Dashboards category (#92968)
* move Search page to Dashboards category

* fix Vale suggestions

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

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-10 18:14:11 +02:00
Joao Silva
15bf1348ab GrafanaUI: Show focus on selected date of the date picker (#93181) 2024-09-10 16:51:53 +01:00
linoman
56f361198c SSO LDAP: Adjust button behavior (#93173)
* Extract getSettings behaviour

* Replace string values format

* Reload settings

* Add new option to discad settings

* update i18n files

* run frontend linter
2024-09-10 18:06:40 +03:00
Matthew Jacobson
eea28172e0 Alerting: Add field selectors for k8s receivers API (#93015)
Add field selectors for k8s receivers API

metadata.provenance
spec.title
2024-09-10 10:58:14 -04:00
Adela Almasan
f64b121ddb Canvas: Allow API calls to grafana origin (#91822)
* allow post URL
* check for config
* allow relative paths
* add allowed internal pattern; add checks for method
* update defaults.ini
* add custom header
* update config comment
* use globbing, switch to older middleware - deprecated call
* add codeowner
* update to use current api, add test
* update fall through logic

* Update pkg/middleware/validate_action_url.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/middleware/validate_action_url.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* add more tests

* Update pkg/middleware/validate_action_url_test.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* fix request headers

* add additional tests for all verbs

* fix request headers++

* throw error when method is unknown

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Brian Gann <bkgann@gmail.com>
Co-authored-by: Brian Gann <briangann@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-09-10 10:45:27 -04:00
Esteban Beltran
462560d544 Chore: Only auto-triage issues for authors non associated to the repository (#93174)
Only triage issues for authors non associated to the repository
2024-09-10 16:29:58 +02:00
Tobias Skarhed
096105fed6 New Select: Try it out with some core components (#92826)
* Export Combobox and add portalling

* Use floatingui fixed strategy and fix z-index

* Check non null

* Make value string type only

* Try with fiscal year setting

* Use combobox for WeekStartPicker

* Improve screen reader handling

* Fix faulty import

* Fix type issue

* Fix failing tests and export unstable

* Rename option and remove export

* Use comboboxMockSetup function

* Add support for number type

* menuClosed styles to emotion
2024-09-10 17:28:00 +03:00
Aaron Godin
2c93120a42 feat: add QueryIntWithDefault to web context (#93130) 2024-09-10 09:04:49 -05:00
Ryan McKinley
22c63ea3c5 DualWriter: remove mode4 wrapper (#93172) 2024-09-10 16:01:14 +03:00
Ryan McKinley
2f792ee4ae DualWriter: Return error for unsupported watch (#93159) 2024-09-10 15:42:17 +03:00
Jack Westbrook
e3fd9f9e58 Fix: Resolution of css for plugins using loadPluginCSS (#93128)
* fix(plugins): resolve loadPluginCss urls for filesystem and cdn hosted plugins

* fix(plugins): should a registry lookup fail in getLoadPluginCssUrl fallback to relative path

* refactor(plugins): rename var to id for legibility

* test(plugins): add some extra test cases for getLoadPluginCssUrl function
2024-09-10 14:35:21 +02:00
Laura Fernández
1701dc85e7 A11y: Focus outline is not fully visible in several areas of the application (#93030) 2024-09-10 13:50:12 +02:00
Gábor Farkas
c48caf0921 logging: log plugin request start (#92925)
log plugin request start
2024-09-10 13:25:50 +02:00
Ryan McKinley
9210414782 K8s: support unstructured spec+status mutation with GrafanaMetaAccessor (#92970) 2024-09-10 13:32:18 +03:00
renovate[bot]
86b9f76291 Update dependency knip to v5.30.1 (#93155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 11:23:09 +01:00
grafana-pr-automation[bot]
3278ab543b I18n: Download translations from Crowdin (#92834)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-10 11:22:44 +01:00
Leonor Oliveira
8d2b8378ed Remove UID on update in dual writer mode 2 (#93032)
* Remove UID on update in dual writer mode 2

* WIP: add dashboard tests

* Add more crud tests for dashboards in each mode

* trigger build

* Fix test
2024-09-10 11:57:28 +02:00
Arati R.
b12a29a1da K8s: Implement partial folders api with k8s client (#93089)
* Add kubernetes folder feature toggle
* Add kubernetes routes for getting and creating a folder
* Add documentation for interacting with k8s folders
2024-09-10 11:22:08 +02:00
Ashley Harrison
442bb1d35f Internationalization: make i18nKey required in grafana-ui as well (#93154)
make i18nKey required in grafana-ui as well
2024-09-10 12:20:30 +03:00
Eric Leijonmarck
f3ede1f53d Datasources: allow for query but with warning (#93091)
allow for query but with warning
2024-09-10 10:19:02 +01:00
renovate[bot]
544dbce708 Update dependency i18next to v23.15.1 (#93153)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 12:14:28 +03:00
Jay
c4e0baa95f Update _index.md (#92790)
Update to explain grafana_net is older and grafana_com is the preferred config name. However, grafana_net config is still accepted and parsed to grafana_com config.
2024-09-10 09:06:13 +00:00
renovate[bot]
691f93b204 Update dependency re-resizable to v6.9.18 2024-09-10 08:52:38 +00:00
Ieva
3197c5de8d RBAC: Add available scopes to RBAC docs (#93131)
* update the list with some allowed RBAC scopes

* extend the http api docs as well

* display without bulletpoints

* add prettier ignores
2024-09-10 08:50:03 +00:00
Levente Balogh
831493278f UI Extensions: Share the registries using a React context (#92014)
* feat: add a context for the extension registries

* feat: add a provider for registries to `AppWrapper`

* feat(extensions): add a read-only registry version

* feat: share the registry for exposed components using the context

* fix: tests

* feat: share the registry for added components using the context

* feat: share the addedLinks registry using react context

* use read-only registry versions
2024-09-10 10:42:07 +02:00
renovate[bot]
9255230d02 Update dependency @playwright/test to v1.47.0 (#93138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 09:30:22 +01:00
Pepe Cano
7eb7b51dce Docs: update IAM links for Cloud docs (#93147) 2024-09-10 09:33:45 +02:00
Jack Baldry
639b1319fd Use Docker Compose V2 if available but fall back to V1 with warning (#93082) 2024-09-10 07:36:41 +01:00
Ryan McKinley
aac66e9119 Slugs: use shorter slug fallback (#93081) 2024-09-10 09:04:23 +03:00
Leon Sorokin
f650a17030 Transformations: Fix inner join by field for zero-length frames (#93144) 2024-09-09 21:22:03 -05:00
Juan Cabanas
644a315667 ShareDrawer: Improvements (#93107) 2024-09-09 19:32:45 -03:00
Señor Performo - Leandro Melendez
40b5c30b94 docs: Update Gauges adding why, how with data reqs and images (#92451)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-09-09 16:24:50 -04:00
renovate[bot]
baa0f073d8 Update dependency eslint-plugin-jest to v28.8.3 2024-09-09 20:08:40 +00:00
renovate[bot]
1e6735706d Update dependency @types/node to v20.16.5 2024-09-09 19:39:19 +00:00
Alyssa (Bull) Joyner
0049e4f997 Add basic logs enabled check (#92324) 2024-09-09 13:35:56 -06:00
renovate[bot]
951f676ac8 Update dependency @grafana/plugin-e2e to v1.7.2 2024-09-09 18:50:49 +00:00
Leon Sorokin
53e59b27cd FieldColor: Prefer displayName for hashing (#93062)
* FieldColor: Prefer displayName for hashing
2024-09-09 17:58:22 +00:00
Ashley Harrison
a6e2962319 update mock to work with react-virtual 2024-09-09 19:19:30 +03:00
renovate[bot]
b5d218e06e Update dependency @grafana/scenes to v5.14.2 2024-09-09 19:19:30 +03:00
Aaron Godin
6ded6a8872 feat: Add feature toggle for groupAttributeSync (#93116) 2024-09-09 10:29:43 -05:00
Andreas Christou
11c1af0c5f AzureMonitor: Remove Basic Logs retention warning (#92870)
Remove retention warning
2024-09-09 16:15:55 +01:00
Joao Silva
94068977f5 GrafanaUI: Improve Switch cursor focus on screen readers (#93100) 2024-09-09 16:06:05 +01:00
Esteban Beltran
0fb2eacba1 Chore: Move auto-triager workflow to issue-opened workflow file (#93101)
* move auto-triager to issue-opened workflow

* remove autotriager from codeowners
2024-09-09 16:44:01 +02:00
linoman
904b0a9ee6 SSO LDAP: Fix documentation render (#93041)
* Fix documentation link render

* Add i18n changes
2024-09-09 16:32:23 +02:00
Adela Almasan
af48d3db1e Canvas: Add actions support (#90677)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-09-09 09:11:55 -05:00
Kyle Brandt
b89f3f8115 Ad-Hoc Filters & Scopes: don't remap one-of to regex in frontend (#92995)
* send "one-of" and "not-one-of" directly to datasource (instead of changing them to regex)
* Added to Ad-hoc and and Scope Filters: The "values" prop ([]string) and the "one-of" and "not-one-"of" operators. "values" is used with one-of and not-one-of. 
* adds prometheus support for the above 


---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Todd Treece <todd.treece@grafana.com>
2024-09-09 16:56:43 +03:00
Andreas Christou
9c7029fa3e Azure: Upgrade grafana-azure-sdk-go (#93009)
* Upgrade grafana-azure-sdk-go

* Run update-workspace

* Update go work

* Fix deps

* Update go.sum
2024-09-09 16:44:35 +03:00
Oscar Kilhed
c0df15dcde InfluxDB: Fix variable interpolation in influx db (#92988)
Fix variable interpolation in influx db
2024-09-09 15:35:30 +02:00
Ashley Harrison
58907a8464 i18n: Add test to check languages match a canonical locale (#93105)
add test to check languages match a canonical locale
2024-09-09 14:25:49 +01:00
Alex Khomenko
2585c58dd4 OptionsUI: Change owners to dashboard squad (#92592)
* OptionsUI: Change owners to dashboard squad

* Update .github/CODEOWNERS

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>

---------

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
2024-09-09 16:21:05 +03:00
Alex Khomenko
7e4500c7c9 Dashboards: Update tests to be compatible with react router 6 (#93080)
* Dashboards: Update tests to be compatible with react router 6

* Update VersionsSettings.test

* Update DashboardGrid.test

* Update TimeSrv.test

* Remove redundant mock

* Update PublicDashboardListTable.test

* Update PlaylistEditPage.test

* Revert TimeSrv changes
2024-09-09 16:03:57 +03:00
Andreas Christou
4ab61cea0e MSSQL: Add errorsource (#92152)
* Add errorsource to mssql

* Fix args

* Use fmt.Errorf
2024-09-09 14:02:09 +01:00
Tom Ratcliffe
ef486133c2 Alerting: Make query wrapper match up datasource UIDs if necessary (#93057) 2024-09-09 14:01:46 +01:00
Polidoro-root
3fde6bd730 I18n: Add constants value tests to avoid typos (#93070) 2024-09-09 15:49:47 +03:00
Claudiu Dragalina-Paraipan
3aeb8d390e [authn] update authlib and claims versions (#93098)
* update authlib version to latest

* make update-workspace -- 2nd run

* manual cleanup of old version
2024-09-09 15:45:59 +03:00
Andrej Ocenas
5e2ac24890 Sidecar: Add split view and basic APIs for extensions (#91648)
* Add split view and basic APIs to extensions

* Add comments

* Update public/app/AppWrapper.tsx

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

* Moved the .grafana-app element and deduplicate some code

* Remove the provider variants of usePluginLinks/Components

* Change buildPluginSectionNav

* Update comment

* Use eventBus

* Remove non existent exports

* refactor: use a sidecar service to encapsulate the state

* Don't wrap single app in split wrapper

* Use hook splitter

* Remove inline styles

* Type the style props from useSplitter

* Move the overflow style changes to appWrapper

* Deduplicate some common top level providers

* Move modals

* Move routes wrappers to it's own file

* Use better css and add comments

* Remove query rows app extension point

* Fix test

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-09-09 14:45:05 +02:00
Ieva
ba9f1da28e Data sources: Hide the datasource redirection banner for users who can't interact with data sources (#92886)
* hide the datasource redirection banner for users who can't list data sources

* readding explore evaluation

* add a test
2024-09-09 14:50:09 +03:00
ismail simsek
6548ea377d Chore: Bump grafana-plugin-sdk-go version to v0.247.0 (#93095)
* Bump grafana-plugin-sdk-go version to v0.247.0

* make update-workspace

* make update-workspace
2024-09-09 14:36:59 +03:00
Gábor Farkas
7afe6d7023 CODEOWNERS: improve ownership of query apis (#93087) 2024-09-09 14:31:05 +03:00
ismail simsek
5ecc927f08 Explore Metrics: Skip DataTrailsHistory tests (#93096)
* Fix tests

* Skip tests

* revert the change
2024-09-09 14:10:36 +03:00
Alex Khomenko
adf1402ff8 Grafana/ui: Update Link component to react router 6 (#92976)
* Grafana/ui: Update Link component to react router 6

* Add compat package to grafana/ui
2024-09-09 13:54:43 +03:00
Will Browne
2c47d246fc Plugins: Introduce LoadingStrategy for frontend loading logic (#92392)
* do it all

* feat(plugins): move loadingStrategy to ds pluginMeta and add to plugin settings endpoint

* support child plugins and update tests

* use relative path for nested plugins

* feat(plugins): support nested plugins in the plugin loader cache by extracting pluginId from path

* feat(grafana-data): add plugin loading strategy to plugin meta and export

* feat(plugins): pass down loadingStrategy to fe plugin loader

* refactor(plugins): make PluginLoadingStrategy an enum

* feat(plugins): add the loading strategy to the fe plugin loader cache

* feat(plugins): load fe plugin js assets as script tags based on be loadingStrategy

* add more tests

* feat(plugins): add loading strategy to plugin preloader

* feat(plugins): make loadingStrategy a maybe and provide fetch fallback

* test(alerting): update config.apps mocks to include loadingStrategy

* fix format

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-09-09 10:38:35 +01:00
Andreas Christou
d61530941a AzureMonitor: Add errorsource (#92094)
* Add errorsource

* Migrate to individually build metric queries

* Migrate logs queries to be built individually

* Migrate to individually build resource graph queries
2024-09-09 10:29:35 +01:00
Victor Marin
8eb7e55f8f DashboardScenes: Fix duplicate query modifying original query on panel duplication (#93038)
make sure queries are cloned on panel duplicate
2024-09-09 10:09:22 +03:00
Leon Sorokin
fc4b3a2b03 Prometheus: Retain time field's interval with Table formatted queries (#93065) 2024-09-08 13:18:58 -05:00
Pepe Cano
c43bd82c92 IAM Docs: replace relref with refs links to enable IAM docs in Grafana Cloud docs (#92890)
* Update `refs` links in `Service accounts` to enable the Cloud docs

* Update `refs` links in `Migrate API keys` to enable the Cloud docs

* Update `refs` links in `RBAC docs` to enable the Cloud docs

* 2 - Update `refs` links in `RBAC docs` to enable the Cloud docs

* 3 - Update `refs` links in `RBAC docs` to enable the Cloud docs

* Apply Jack suggestions

* Set `folder permissions` for OSS and Cloud

* Set adminition shortcode to support GC ref links

* Fix `//` in URLs
2024-09-07 08:02:59 +02:00
Jean-Philippe Quéméner
368c4e53f1 feat(apiserver): refactor the hooking mechanism for standalone apiserver (#93001)
It now uses a full build handler chain that can be passed from up top to `SetupConfig`.

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-09-06 14:12:12 -07:00
Larissa Wandzura
a1a18922e5 Docs: Minor updates to Explore metrics (#93053)
fixed some wording for clarity
2024-09-06 13:22:50 -05:00
Russ
c71aae8c5c Icons: update Asserts menu icon (#92888)
Chore: update Asserts menu icon
2024-09-06 10:08:30 -08:00
Dave Henderson
e1090db5d9 Chore: Bump Go to 1.23.1 (#93007)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-09-06 20:58:50 +03:00
Lucy Chen
2218841aa6 SharePanel: Add icons to panel options Share and More (#92622)
* add icon

* update icons

* add svg

* update legend

* remove new svg

* try again

* remove again

* add legend icons

* make review changes
2024-09-06 12:25:35 -05:00
Todd Treece
85759da360 Tracing: Add Start helper (#93052) 2024-09-06 13:02:17 -04:00
Tito Lins
539d363d2c Create histogram and observe grafana config size (#93028) 2024-09-06 18:25:16 +02:00
Andre Pereira
72ed3107fa Tempo: Remove usage of traceQLStreaming feature toggle (#93033)
* Remove usage of traceqlStreaming feature toggle and stop checking for Tempo version

* Increase Grafana Live's ClientQueueMaxSize to 4mb to support larger responses from Tempo
2024-09-06 16:12:21 +01:00
Irene Rodriguez
ffa925718e fix broken link in backend style guide (#93049)
fix broken link
2024-09-06 15:03:50 +00:00
Josh Hunt
cad56df002 Make Combobox Storybook story public, with indev disclaimer (#93042) 2024-09-06 17:56:03 +03:00
Alex Khomenko
3d6c938e59 RolePicker: Improve overlay positioning (#92590)
* RolePicker: Improve overlay positioning

* Fix vertical position

* More fixes
2024-09-06 17:36:55 +03:00
Torkel Ödegaard
3111f23bf1 ViewPanel: Refactoring to simplify logic by rendering the source panel instead of a clone (#93000)
* ViewPanel: Refactoring to simplify logic by rendering the source panel instead of a clone

* Moved util function to utils

* Update
2024-09-06 16:00:59 +02:00
Sonia Aguilar
427af2e7ec Ops: Add query param essentials to open Essentials drawer (#93023)
* Add query param essentials to open Essentials drawer

* use query param for keeping the state of the essentials drawer
2024-09-06 15:55:33 +02:00
linoman
9b2c2be82d SSO LDAP: Add login form alert (#93037)
* add alert if login form is disabled

* add i18n texts
2024-09-06 16:13:22 +03:00
Juan Cabanas
8b2091ee4f ShareDrawer: Improvements (#92956) 2024-09-06 09:37:00 -03:00
Martin Lehmann
55abfd7858 Docs: fix a typo on the Configure Grafana page (oentelemetry -> opentelemetry) (#93021)
chore(docs): fix a typo on the Configure Grafana page (oentelemetry -> opentelemetry)
2024-09-06 07:35:35 -05:00
Laura Benz
1be0105eb7 RestoreDashboards: Show root location as 'Dashboards' in folder picker (#92936)
* refactor: replace label if its value is Root

* refactor: replace label in the backend
2024-09-06 14:19:39 +02:00
João Calisto
a45ec2670d chore(tests): fix flaky SMTP test (#93031) 2024-09-06 13:17:26 +01:00
linoman
8ea374b773 SSO LDAP: Add Group Mappings field (#92993)
* Add GroupMApping component

* Add remove/add buttons

* Implement role fields

* Change value as number for org ids

* Add i18n extracts

* Use conditional for GrafanaAdmin switch
2024-09-06 13:42:33 +02:00
Joao Silva
20f7e11987 Restore Dashboards: Revert e2e tests (#93026) 2024-09-06 11:18:49 +01:00
Ryan McKinley
3cf84d1921 Chore: update centrifuge library (#93020) 2024-09-06 12:17:43 +03:00
Pepe Cano
e87140bf75 API Docs: create Authentication page and order sidebar menu (#92900)
* API Docs: create `Authentication` page and order sidebar menu

* fix minor typos

* Update capitalization

We don't capitalize titles as per https://grafana.com/docs/writers-toolkit/write/style-guide/capitalization-punctuation/

* Update docs/sources/developers/http_api/examples/_index.md

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

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

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

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-06 08:17:20 +02:00
Ivan Ortega Alba
d8c3645f31 TextVariable: Datalinks do not update variable value (#93003) 2024-09-05 22:19:30 +02:00
ismail simsek
9e6e41c6f8 Explore Metrics: Fix infinite loop while opening a panel in explore metrics (#92946)
* Fix infinite loop while opening a panel in explore metrics

* clean up
2024-09-05 21:04:43 +02:00
ismail simsek
0ba808805e Explore Metrics: Fix existing parent error while opening a panel in explore metrics (#92948)
Fix exiting parent error while opening a panel in explore metrics
2024-09-05 21:04:33 +02:00
Ivan Ortega Alba
ae0e970bef DetectChanges: Serialize message payload to avoid non-clonable props (#92831)
Detect changes: Serialize message payload to avoid non-clonable properties
2024-09-05 20:52:05 +02:00
Ivan Ortega Alba
35ba8fbad1 AutoSizeInput: Allow to be controlled by value (#92997) 2024-09-05 20:50:40 +03:00
Claudiu Dragalina-Paraipan
d5ebaa0ef9 [authn] adding appPlatformAccessTokens featureflag (#92991)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-09-05 19:18:44 +03:00
Claudiu Dragalina-Paraipan
1ce43b4c42 [authn] update authlib and claims versions (#92987)
* update authlib and claims versions

* 2nd make update-workspace

* manual fix
2024-09-05 19:17:15 +03:00
linoman
a0c886922e Auth: Add LDAP scope to Grafana Admin (#92990)
Add LDAP scope to Grafana Admin
2024-09-05 17:15:47 +01:00
Ashley Harrison
6b6355e418 Chore: migrate _grid SCSS styles to emotion globals (#92986)
migrate _grid styles to emotion globals
2024-09-05 16:39:12 +01:00
Victor Marin
4a4e3a4063 DashboardScenes: Use behavior for library panels (#90886)
* wip - refactor using libPanelBehavior

* wip

* wip

* wip

* migrate test

* wip

* nearly all tests done, except one commented which breaks

* migrate last test

* revert defaults.ini

* fix tests

* tests + fixes

* fix

* fix bug -- adding lib panel through CTA in empty dashboard didn't enter edit mode

* show unsaved lib panel changes modal

* fix height problems

* fix

* LibPanelBehavior: Fixes view panel and edit panel full page reload issues (alt fix)  (#92850)

* LibPanelsBehavior: Fixes view panel

* Sort of working except panel edit

* Got panel edit working

* LibraryPanelsBehavior: Simpler fix

* Cleanup

* Remove more stuff

* Update tests

* fix tests

* Work around timing issues

* remove log

* fix repeated panels not showing due to gridItem height not being set + translations

* remove log that affects tests

---------

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

* fix translations

* Fix save issue

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-09-05 18:08:25 +03:00
Jev Forsberg
d3ceaf41c2 CI/CD: Update retry logic for package validation (#92943)
* baldm0mma/retry_command/ update retry logic for package validation

* baldm0mma/retry_command/ update to 15 minutes

* baldm0mma/retry_command/ update to 30 minute retry

* baldm0mma/retry_command/ make drone
2024-09-05 08:34:05 -06:00
Karl Persson
bc20592fd4 IAM: Add and use identity ref (#92978)
* Add and use identity ref

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-09-05 16:10:23 +02:00
Matheus Macabu
95ef2a1eb2 CloudMigrations: Fix snapshot creation on Windows systems (#92941)
* cloudmigration: improve error logging stringify body

* deps: update migration snapshot library to v1.3.0 (fix to Windows)
2024-09-05 15:34:20 +02:00
Hugo Kiyodi Oshiro
c6fb9884a0 Plugins: Add sync update all plugins in cloud (#92742) 2024-09-05 15:04:37 +02:00
Ashley Harrison
82fe497b9d Chore: remove adhocFilterOneOf toggle (#92979)
remove adhocFilterOneOf toggle
2024-09-05 15:49:24 +03:00
Claudiu Dragalina-Paraipan
085aaec958 Fix playlist tests (#92837) 2024-09-05 15:41:28 +03:00
Santiago
87f4df4bc3 Remote Alertmanager: update github.com/go-openapi/runtime (v0.27.1 -> v0.28.0) (#92951) 2024-09-05 08:47:38 -03:00
Karl Persson
2bfa607ad0 ServiceAccount: Update service account api resource and add service account token (#92972)
* Create own legacy store function to list service accounts and update api model

* Add service account tokens as a sub resource for service accounts
2024-09-05 13:43:54 +02:00
Arati R.
47cd8288cd SearchV2: Fix reading library panels (#92961)
* Fix reading of library panel field
* Add test to check reading of library panel field
2024-09-05 13:42:15 +02:00
Mihai Doarna
ebd17adecf API keys: Return 410 Gone status from POST /auth/keys endpoint (#92965)
* return 410 Gone status from POST /auth/keys endpoint

* generate swagger

* remove postAPIkeyResponse

* re-generate swagger

* remove docs for api key creation endpoint
2024-09-05 13:10:24 +03:00
renovate[bot]
de5bbd2539 Update dependency rc-cascader to v3.28.1 (#92931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-05 10:53:59 +01:00
Ryan McKinley
5441e4c752 Storage: create a client with access to all interfaces, not just ResourceStore (#92967) 2024-09-05 12:52:30 +03:00
Ryan McKinley
9338e40dc3 K8s/IAM: Move identity.grafana.app to iam.grafana.app (#92929) 2024-09-05 09:43:54 +03:00
Torkel Ödegaard
aae788ae46 DashboardScene: Add browser history step when changing time range (#92950)
DashboardScene: Upgrade scene and turn on url history
2024-09-05 07:43:52 +02:00
Dave Henderson
c00a3bed42 chore(tests): Attempting to fix flaxy SMTP unit test (#92786)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-09-04 16:25:44 -04:00
kay delaney
d8b6a5bde2 DashGPT: Fixes issue with generation on Safari (#90337)
* DashGPT: Fixes issue with generation on Safari

* Fix infinite loop issue + more refactoring

* Solve linter

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-09-04 18:56:20 +03:00
Marcus Efraimsson
0a337ff3b3 Chore: Update SDK to v0.246.0 (#92938) 2024-09-04 17:30:37 +02:00
Ashley Harrison
d14a551ee8 Chore: Migrate _reboot SCSS styles to emotion globals (#92934)
migrate reboot styles to emotion globals
2024-09-04 16:27:07 +01:00
Ashley Harrison
86844142a9 Translations: Crowdin action now works on subsequent pushes (#92939)
* try using the generated token in the checkout action

* comment out github_user_name

* try adding with: token

* try env var

* try removing github_user_name

* restore user_name etc

* update action

* try persist-credentials: false;

* remove persist-creds false

* test

* restore github actions name
2024-09-04 16:20:00 +01:00
Joao Silva
b20017cf8c Restore Dashboards: Add e2e tests (#92514) 2024-09-04 15:47:15 +01:00
antonio
1d5dffc51d update commmands.json (#92930) 2024-09-04 17:02:32 +03:00
Brendan O'Handley
4bf350cc62 Prometheus: Variable query editor, display selected label when using query type of label values (#92513)
display label, add test
2024-09-04 08:11:17 -05:00
Gabriel MABILLE
cffaefddc3 Signer: Fix typo (#92928) 2024-09-04 15:01:24 +02:00
renovate[bot]
c17d1a3a4c Update dependency rc-slider to v11 (#92921)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 12:57:31 +01:00
renovate[bot]
58d9bc2cad Update dependency react-calendar to v5 (#92922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 12:55:14 +01:00
Ryan McKinley
cb484f9883 K8s: Move ResourceInfo from common to utils (#92924) 2024-09-04 14:53:14 +03:00
Hugo Kiyodi Oshiro
668d87b19f Plugins: Add message on levitate workflow failure (#92906) 2024-09-04 13:52:42 +02:00
renovate[bot]
7c88d50ac4 Update dependency blob-polyfill to v9 (#92919)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 12:41:25 +01:00
renovate[bot]
b404dabc55 Update dependency rimraf to v6 (#92923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 12:40:52 +01:00
renovate[bot]
468c1fcb9c Update dependency glob to v11 (#92920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 14:03:38 +03:00
renovate[bot]
d9dc7cba50 Update dependency eslint-plugin-jsx-a11y to v6.10.0 (#92917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 11:48:21 +01:00
Eric Leijonmarck
ded95af136 LBAC for datasources: doc improvements (#92872)
* LBAC for datasources: doc improvements

* fixed formatting of prettier

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

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-09-04 11:21:29 +01:00
linoman
b213ecc2dd SSO LDAP: Add configuration for root ca, client key and client certificate (#92866)
* Add missing properties with `_value` prefix

* Add RadioButtonGrpoup

* Add file/value section for certs

* Add mapping for keys and certificates

* Rename base and file types

* Add styles

* Add base64 values configuration flags

* Add function to render root ca certificate contents

* generate i18n files
2024-09-04 12:19:45 +02:00
renovate[bot]
13c8f4d212 Update dependency postcss to v8.4.45 2024-09-04 10:17:55 +00:00
Andreas Christou
8daa6f1f30 CI: Ensure changelogs are prettified prior to commit (#92580)
* Ensure changelogs are prettified prior to commit

* Remove cache property

* Include .yarn directory

* Include packages directory

* Try just using npx

* Update workflows
2024-09-04 11:03:17 +01:00
Sonia Aguilar
14e1403b9e Alerting: Recording rules detail view nits (#92643)
* Hide some fields in the details tab (view page) when it's a grafana recording rule

* link to the explore view from the metric name in the detail view

* Revert "link to the explore view from the metric name in the detail view"

This reverts commit 3c17d16cf6.

* move logic to usePendingPeriod hook

* move logic to getPendingPeriod function

* move logic for getting annotations to a new getAnnotations function
2024-09-04 13:02:06 +03:00
renovate[bot]
9c837407bf Update dependency eslint-plugin-react to v7.35.2 2024-09-04 09:57:10 +00:00
brendamuir
9d3d1703f7 Alerting docs: adds caps not supported in email contact points (#92902)
* Alerting docs: adds caps not supported in email contact points

* ran prettier

* feedback from antonio

* ran prettier
2024-09-04 09:54:38 +00:00
renovate[bot]
7933cbd204 Update dependency @types/node to v20.16.4 2024-09-04 09:25:17 +00:00
Tom Ratcliffe
aec73f3501 Alerting/Chore: Mock API (MSW) in browser (#89223)
Co-authored-by: joshhunt <josh@trtr.co>
2024-09-04 10:22:03 +01:00
renovate[bot]
636b831d90 Update dependency knip to v5.29.2 (#92882)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-04 11:38:00 +03:00
brendamuir
4749064f57 Alerting docs: responds to feedback on alerting state or error alerts (#92859)
* Alerting docs: responds to feedback on alerting state or error alerts

* ran prettier
2024-09-04 08:10:55 +02:00
Leon Sorokin
43c960dc97 Templating: Fix searching non-latin template variables (#92789) 2024-09-03 17:22:04 -05:00
Kyle Cunningham
437472811e Table: Fix nested table overlap when table is sorted (#92716) 2024-09-03 15:27:14 -05:00
Jean-Philippe Quéméner
5dce149221 feat(querier): propagate all known alerting headers (#92873) 2024-09-03 18:01:27 +02:00
renovate[bot]
db579877bd Update dependency eslint-plugin-import to v2.30.0 (#92878)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 16:53:01 +01:00
renovate[bot]
3acb43cf2e Update dependency @types/systemjs to v6.15.0 (#92876)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 16:15:55 +01:00
renovate[bot]
5a3acbb15d Update dependency postcss to v8.4.44 2024-09-03 14:33:20 +00:00
Victor Marin
2bbce8a7f7 DashboardScene: Re-perform repeat when returning to dashboard from panel edit (#92754)
* Reset prev values on panel deactivation/reactivation

* add comments

* fix

* add test
2024-09-03 17:12:55 +03:00
renovate[bot]
cb9c7de0ff Update dependency eslint-plugin-react to v7.35.1 2024-09-03 13:57:20 +00:00
Kyle Brandt
d382ea773a Prometheus: Enable the promQLScope (Scopes, Adhoc filters and groupby) by default (#92080) 2024-09-03 09:56:25 -04:00
Alexander Zobnin
88259da745 RBAC: Optimize permissions caching (#92673)
* Access control: Use composite cache key for team permissions

* use composite key for teams

* use cache for hotpath (getCachedUserPermissions)

* don't cache empty teams set

* don't pass permissions as argument

* early return if no teams found

* reload cache correctly

* optimize allocations

* Clear user's teams cache

* remove composite cache for teams

* fix linter

* don't clear teams permissions

* pre-allocate memory for basic roles permissions
2024-09-03 15:46:56 +02:00
renovate[bot]
6244c2be2c Update dependency eslint-plugin-jest to v28.8.2 2024-09-03 13:33:28 +00:00
Ivan Ortega Alba
351864653b Scenes: Upgrade to v5.12.0 (#92862) 2024-09-03 16:05:21 +03:00
Ashley Harrison
f34f5b80b4 Chore: Migrate _widths SCSS to global emotion styles (#92863)
* migrate widths to global styles

* only calculate width once per loop
2024-09-03 16:04:21 +03:00
renovate[bot]
9d974f7560 Update dependency @swc/helpers to v0.5.13 (#92858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-03 13:44:51 +01:00
Serge Zaitsev
e699a71340 Chore: Bump moby version (#92857)
* bump moby version

* update workspace
2024-09-03 15:43:36 +03:00
Konrad Lalik
1128c417d8 Alerting: Fix cloud rules edit url (#92853)
Update cloud rule edit page url after successful update
2024-09-03 14:18:02 +02:00
Ashley Harrison
d9385d8a76 add missing await 2024-09-03 14:02:27 +03:00
oscarkilhed
aa2175822e Fix bad mock in unittest 2024-09-03 14:02:27 +03:00
renovate[bot]
6c968f90ae Update dependency @grafana/scenes to v5.11.2 2024-09-03 14:02:27 +03:00
Jack Westbrook
e7d7ed5406 Chore: Remove side-effect import from app (#92650)
* chore(frontend): remove stray side-effect features import that brings the whole jungle

* chore(app): delete features/all.ts and its friends

* chore(codeowners): remove public/app/features/all.ts from file
2024-09-03 13:43:13 +03:00
Ieva
46e81e98cf RBAC: Always store action sets (#92833)
always store action sets, even if FT is disabled
2024-09-03 11:30:47 +01:00
Alexa V
9dc333dfa7 Dashboard Scene: Add close visualization button in panel edit (#92848) 2024-09-03 12:11:09 +02:00
Piotr Jamróz
d7d22bbbb8 TraceView: Display event names of a span (#91382)
* Display event name of a span

* Clean up

* Retrigger the build

* Show colon only when there are fields to display

* Rollback

* Use event name when exporting to OTLP

* Allow filtering spans by event name

* Show duration as a key/value pair

* Update betterer report (we do not translate panels that are planned to be externalized)

* Fix tests after changing how duration is rendered

* Handle long names

* Test handling long names

* Make parenthesis gray

* Fix a test

* Fix linting

* Fix tests

* Update label
2024-09-03 11:18:50 +02:00
Alexander Akhmetov
1df622641c Alerting: Update documentation about alert instance limit (#92668) 2024-09-03 11:02:20 +02:00
Tom Ratcliffe
13ea3d85ae Alerting: Fix preview of silences when label name contains spaces (#92802) 2024-09-03 09:14:11 +01:00
Pepe Cano
15de549093 Alerting docs: HA - configure alertmanager to prevent duplicated notifications (#92611)
* Alerting docs: HA - configure shared alertmanager

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

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

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

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

* Apply minor content suggestion

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-09-03 06:31:09 +02:00
Laura Benz
cdf035f813 Scenes/RestoreDashboards: Adjust DeleteDashboardModal and Toast message (#92601)
* refactor: replace soft delete method

* refactor: adjust test to new naming

* refactor: clean up unused functions

* refactor: replace delete modal

* refactor: use new delete modal outside of scenes
2024-09-02 18:04:02 +02:00
Josh Hunt
a1190b165b Revert "Update dependency msw to v2.4.1" (#92829)
Revert "Update dependency msw to v2.4.1 (#92648)"

This reverts commit acab4c9438.
2024-09-02 15:51:12 +00:00
Sven Grossmann
5ad7c47816 Plugin Instrumentation: Add target property to request logs (#91946)
* Plugin Instrumentation: Add `target` property to request logs

* remove comment

* remove error
2024-09-02 17:41:26 +02:00
Timur Olzhabayev
564d09c9be Chore: fixing triage link (#92828)
fixing triage link
2024-09-02 18:24:04 +03:00
grafana-pr-automation[bot]
71e7d37727 I18n: Download translations from Crowdin (#92827)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 18:21:53 +03:00
piyushfs
a038d4136e NodeGraph: Allow to add datalinks (#90163)
* NodeGraph: allow to add datalinks

* chore: filter list
2024-09-02 16:06:56 +01:00
Andreas Christou
9459626372 AzureMonitor: Update logs workspaces (#92809)
Update logs workspaces and code to retrieve
2024-09-02 16:03:13 +01:00
Alex Khomenko
6ecc9b1d21 Announcement banner: Update docs (#92820) 2024-09-02 17:59:01 +03:00
Alexa V
f8cd448441 Dashboard: Fix Annotation runtime error when a data source does not support annotations (#92504)
When data source does not support annotations, shows an inline Error in Annotation Settings page
2024-09-02 16:46:20 +02:00
antonio
0df5a6aefc alerting: docs / highlight tutorial in landing page (#92805) 2024-09-02 16:40:16 +02:00
Esteban Beltran
045c57af23 Chore: Update auto triager github action to use private repository (#92819)
* Update auto triager to use private repository

* Check for other secrets too
2024-09-02 16:39:22 +02:00
Tom Ratcliffe
d1dc595692 Alerting: Fix target rule group for moving alert rule group (#92816) 2024-09-02 15:28:12 +01:00
Arati R.
f26f655615 Provisioning: Fix admin reloading of dashboard configuration (#92462)
* Set dashboard provisioner before provisioning dashboards
* Test provisioner instantiation during dashboard provisioning
2024-09-02 15:48:13 +02:00
grafana-pr-automation[bot]
401658e650 I18n: Download translations from Crowdin (#92810)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 16:39:54 +03:00
Esteban Beltran
a3e7e3dbfa Chore: Add auto-triager github action (#92807)
* Chore: Add auto-triager github action

* Add codeowners

* Add link

* Update .github/workflows/auto-triager.yml

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

---------

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-09-02 15:23:04 +02:00
renovate[bot]
1395cd89da Update dependency @types/node to v20.16.3 2024-09-02 13:05:54 +00:00
Joey
bd5bd52a2c TraceView: Update feedback link style (#91845)
Update feedback link style
2024-09-02 14:02:00 +01:00
Tobias Skarhed
220215c9ca New Select: Create custom value (#92652)
* Display custom value in option list

* Ignore create new value when there is an exact match

* Support displaying custom value

* Add i18n string

* Update failing test
2024-09-02 14:42:42 +02:00
Eugene Apollonsky
5871362ccf Grafana SQL: Fix broken import in NumberInput component (#92803)
SQL: Fix broken import
2024-09-02 14:34:06 +02:00
Dzmitry Skachkou
f0d100d17a ValueFormats: Fix formatting of 'clock' unit when duration is more than 100 hours (#92656) 2024-09-02 13:50:54 +02:00
antonio
2226446318 tutorial : alerts with logs : add missisng interactive (#92800) 2024-09-02 10:48:40 +00:00
Esteban Beltran
51e27b8f3b Chore: Update commands.json to expand labels and their related projects (#92734)
* Chore: Update commands.json to expand labels and their related projects

* Fix trailing slashes
2024-09-02 11:27:22 +02:00
linoman
8c92d2a0ef SAML: Add description for Graph API permissions step (#92408)
* Add description for permissions step

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-09-02 11:23:02 +02:00
Victor Marin
47a0efd581 DashboardScenes: Default to first variable value when editing a repeated panel (#91123)
* DashboardScenes: Default to first variable value when editing a repeated panel

* cleanup

* tests

* refactor

* refactor

* refactor

* refactor
2024-09-02 12:05:14 +03:00
renovate[bot]
cf541b8869 Update dependency tslib to v2.7.0 (#92744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-02 10:00:07 +01:00
Ashley Harrison
714f2d6d51 Playlist: Add default border radius to PlaylistTableRows (#92666)
add default border radius to PlaylistTableRows
2024-09-02 09:39:47 +01:00
Konrad Lalik
5942d8595d Alerting: Fix pending period for vanilla prom rules (#92728)
* Add support for reading pending period value from prom duration property

* Add tests

* Refactor the hook

* Remove unused import
2024-09-02 10:32:47 +02:00
Isabella Siu
2d10068714 CloudWatch: Logs queries should retry on throttling errors (#92535)
CloudWatch: logs queries should retry on throttling errors
2024-08-30 13:55:00 -04:00
Señor Performo - Leandro Melendez
d6f871490e docs: Canvas updates adding why and how describing data needs (#92375)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-08-30 13:18:12 -04:00
Señor Performo - Leandro Melendez
129783ad8c docs: Histogram update added missing options (#92617)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-30 13:14:36 -04:00
Señor Performo - Leandro Melendez
88d12be9f2 docs: Alert list update adding missing elements and descriptions. (#92619)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-30 12:19:43 -04:00
Piotr Jamróz
3b7021dabc FieldConfig: Add missing "min/max" FieldConfigProperty option (#92596)
Add missing FieldConfigProperty standard option
2024-08-30 17:16:22 +02:00
Señor Performo - Leandro Melendez
7ce5ce4957 docs: updates to Pie chart documentation (#91608)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-08-30 11:16:11 -04:00
Tom Ratcliffe
9f5dca96f2 Alerting: Don't redirect after failed contact point creation (#92761) 2024-08-30 16:04:46 +01:00
Adela Almasan
91cbaa4afe Table: Fix JSON formatting (#92715) 2024-08-30 17:51:51 +03:00
Victor Marin
962fcf1fa8 DashboardScenes: Row repeater panels cannot be dragged outside and adding new panels to a cloned row updates all rows (#91062)
* Disallow dragging panels in repeated rows + dropping panels into cloned rows will update all repeated rows

* test
2024-08-30 09:50:22 -04:00
Tom Ratcliffe
172662af58 Alerting: Stop rule state view from crashing when prom rule state is missing (#91483) 2024-08-30 14:47:28 +01:00
Victor Marin
a0c1fc20ec DashboardScene: Update view panel scene variables properly after row repeat is performed (#92698)
* update view panel scene variables properly after row repeat is performed

* refactor

* Fix case where view mode from panel menu would not work

Co-authored-by: ivanortegaalba <ivan.ortega@grafana.com>

* add context

---------

Co-authored-by: ivanortegaalba <ivan.ortega@grafana.com>
2024-08-30 16:36:22 +03:00
Isabel Matwawana
b788f43cee Docs: Moved data source UID info into technical notes (#92712) 2024-08-30 09:34:30 -04:00
Señor Performo - Leandro Melendez
f048c3273b docs: StatusHistory update added missing option and reordered headers (#92613)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-30 09:28:50 -04:00
Jack Baldry
7473ad6469 Lint "RBAC permissions, actions, and scopes" page for style (#92740) 2024-08-30 14:11:35 +01:00
Karl Persson
294712d7ef User: Add sub resource and api for user teams (#92649)
* Add sub resource for user teams

* Add test snapshots

* Update to use ref:s
2024-08-30 15:05:27 +02:00
Torkel Ödegaard
31c9084a3a DashboardGridItem: Fixes repeating panels issue when variable depends on time range (#92661)
* DashboardGridItem: Fixes repeating panels issue when variable depends on time range

* tests

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
2024-08-30 15:50:09 +03:00
Sergej-Vlasov
00ae49a61a FeatureToggle - new filters UI feature toggle (#92189)
* add newFiltersUI experimental feature toggle

* adjust Ad hoc filter varibale layout property based on feature toggle

* restore file

* bump to latest scenes
2024-08-30 15:48:13 +03:00
Tom Ratcliffe
3262f0256e A11y: Fix some accessibility issues on the build error page (#92691)
Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-08-30 13:42:45 +01:00
Ashley Harrison
a59474cf13 Chore: Migrate _forms styles to emotion globals (#92690)
migrate _forms styles to emotion globals
2024-08-30 13:04:31 +01:00
antonio
1f01a679f6 tutorial: link fix (#92748)
* tutorial: link fix

* typo

* link to tutorial pt 2
2024-08-30 11:56:16 +00:00
antonio
f670cf7920 update + sandboxfy tutorial (#92419)
* update + sandboxfy tutorial

* fix formatting

* update

* update2

* numbering

* final draft v1

* draft v1

* added jay's feedback

* query

* latest fixes

* typo

* all pretty no pity
2024-08-30 13:15:35 +02:00
Tom Ratcliffe
690fbe6077 Alerting: Edit, create and delete contact points via k8s API (#91701) 2024-08-30 12:10:30 +01:00
grafana-pr-automation[bot]
f4a8e0a214 I18n: Download translations from Crowdin (#92696)
* New Crowdin translations by GitHub Action

* New Crowdin translations by GitHub Action

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Clarity-89 <homes89@ukr.net>
2024-08-30 14:00:10 +03:00
Ieva
b99d1249db Docs: Update the docs for folder creation permissions (#92703)
* update the docs to reflect permissions needed to create subfolders

* Minor language fix

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-08-30 10:55:32 +00:00
Alexander Akhmetov
152d3540db Alerting: Log number of dimensions instead of all evaluation results (#92733) 2024-08-30 12:35:02 +02:00
renovate[bot]
a0e237dacf Update dependency eslint-plugin-jest to v28.8.1 2024-08-30 10:05:24 +00:00
Ashley Harrison
c16cc488c9 AdHocFilters: Add support for new isOneOf multi value operator (#91837)
* handle oneOf operator in prometheus

* use new supportsMultiValueOperators

* remap oneOf to regex in prometheus datasource

* Remap one of operators for scope filters

* use plugin.json property instead of feature toggle

* optional chaining

* fix unit tests

* use getInstanceSettings

* update to latest scenes

* fix unit tests

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-08-30 11:03:44 +01:00
Leonor Oliveira
2e451b2ed7 Use dw dynamic config (#91882)
* Remove kubernetesPlaylists feature_toggle

* Remove unified_storage_mode

* Remove double import

* Read from config instead from feature_toggle

* cover scenario for when unified storage is not defined

* Be temporarily retro compatible with previous feature toggle

* Properly read unified_storage section

* [WIP] Read new format of config

* Fix test

* Fix other tests

* Generate feature flags file

* Use <group>.<resource> schema

* Use <group>.resource format on the FE as well

* Hide UniStore config from Frontend

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

* unwanted changes

* Use feature toggles in the FE. Enforce FTs are present before enabling dual writing
Co-authored-by: Ryan McKinley <ryantxu@users.noreply.github.com>

* use kubernetes playlists feature toggle on the FE

* Remove unwanted code

* Remove configs from the FE

* Remove commented code

* Add more explicit example

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Maicon Costa <maiconscosta@gmail.com>
2024-08-30 11:59:42 +02:00
renovate[bot]
f8765087b5 Update dependency @tanstack/react-virtual to v3.10.6 2024-08-30 09:44:21 +00:00
antonio
cf951ab589 tutorials: sandboxfy grafana fundamentals (#92206)
* tutorials: sandboxfy grafana fundamentals

* applied feedback

* applied feedback2

* fixed description

* interactives

* ignore new tab instructions

* ignore new tab

* update instructions

* updated alert term / alert isntance

* fix numbering

* adding Lisa's feedback

* changees to fundamentals tutorial

* Fix minor typos and style

* all pretty, no pity

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-08-30 11:42:46 +02:00
Pepe Cano
6a29e4aecf IAM docs: Transform API keys to Migrate API keys docs (#92380)
* IAM docs: Transform `API keys` to `Migrate API keys` docs

* Update links to `API keys` in other doc pages

* Grafana UI: update help button link

* Update OpenAPI/Swagger links

* Update docs/sources/administration/service-accounts/migrate-api-keys.md

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

* Update `relref` links to the new URL

* fix space before em dash

spaces before or after em dashes are not recommended (https://developers.google.com/style/dashes)

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-08-30 11:37:36 +02:00
renovate[bot]
48f8be2cfc Update dependency @babel/runtime to v7.25.6 2024-08-30 09:22:20 +00:00
Alex Khomenko
6abf50b0c9 Routing: Update core tests (#92582)
* Update MegaMenu.test.tsx

* Update GrafanaRoute.test.tsx

* Remove unused file

* Update SignupInvited.test.tsx

* Remove usage of match

* Update betterer
2024-08-30 12:01:32 +03:00
renovate[bot]
acab4c9438 Update dependency msw to v2.4.1 (#92648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-30 11:50:49 +03:00
Pepe Cano
fcb4b3d39e Docs: keep the HTTP API list updated (#92635)
* Docs: keep the HTTP API list updated

* Update menu title to be consistent with the HTTP API list

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

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

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

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

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-30 10:27:24 +02:00
Erik Sundell
db0cc24f2b Plugin extensions: Introduce new registry for added links (#92343)
* add added component registry

* fix broken test

* add tests for usePluginComponents hook

* readd expose components

* add type assertion exceptions to betterer results

* use new addedComponent registry in legacy endpoints

* remove unused code

* cleanup

* revert test code

* remove commented code

* initial commit

* refactor sync method and hook

* fix tests

* subscribe to the correct registry

* remove old registry

* cleanup types

* add use usePluginLinks hook

* add more tests

* fix import order

* fix typo

* fix and temporarly skip failing tests

* wip

* add hook tests

* add more tests

* remove old hook

* fix versioning

* add version to all extension point ids

* remove cleanup

* remove unused imports

* revert touched file

* fix test

* test: remove hook creation

* catch init error

* send error to faro

* fix broken hook

* comment out call hook initialization

* use the right import ofr isString

* remove unused import

* remove registryState type

* pr feedback

* Update public/app/features/plugins/extensions/validators.test.tsx

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

* Update public/app/features/plugins/extensions/validators.test.tsx

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

* remove no longer relevant comment

* fix broken tests

* Fixed test to verify that the memotization works properly.

* simplify hooks

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-08-30 10:09:01 +02:00
brendamuir
16c618f4d3 Alerting docs: add info on changing default time out for evaluation (#92391)
* Alerting docs: add info on changing default time out for evaluation

* ran prettier

* Update docs/sources/alerting/fundamentals/alert-rule-evaluation/state-and-health.md

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

* Update docs/sources/alerting/fundamentals/alert-rule-evaluation/state-and-health.md

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

* ran prettier

* updates with yuris feedback

* ran prettier

---------

Co-authored-by: antonio <45235678+tonypowa@users.noreply.github.com>
2024-08-30 09:46:55 +02:00
Konrad Lalik
e0950a1283 Alerting: Add compatibility between prometheus and ruler identifiers (#92496)
* Unify Prom and Ruler rules hash creation

* Add tests, refarct prom hash
2024-08-30 08:39:11 +02:00
Jeff Levin
372d0acec8 Instrument tracing across dashboards (#91937)
Add tracing across dashboards and accesscontrol
2024-08-29 22:26:15 -08:00
Yuri Tseretyan
ce64d79027 Alerting: Integration tests for Receiver API (#90632)
---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-08-29 22:27:26 -04:00
Sergej-Vlasov
c4d804a964 ImportDashboard: adjust flaky e2e test (#92705)
adjust test to wait for monaco editor
2024-08-29 16:21:05 -04:00
Matthew Jacobson
d5fd6aceca Alerting: Stop redacting receivers by default in receiver_svc (#92631)
* Stop redacting receivers by default in receiver_svc

[REDACTED] is only used in provisioning API since response doesn't include
SecureFields. This is not necessary in k8s or notifications api, instead we do
not include the encrypted settings in Settings at all, leaving it to
SecureFields to specify when a secure field exists.

* Capitalize logs messages
2024-08-29 14:48:59 -04:00
Juan Cabanas
eb8b6a5a70 ShareDrawer: Wording and defaults improvements (#92629) 2024-08-29 15:31:28 -03:00
Matthew Jacobson
e43ddd516d Alerting: Ensure k8s receiver API create/update will never store nil settings (#92701)
Ensure Create/Update will never store nil Settings
2024-08-29 20:00:55 +03:00
Sarah Zinger
8774642788 QueryService: Forward headers to datasource clients (#92329)
Query Service: pass expected headers
2024-08-29 12:47:38 -04:00
Joao Silva
bdb1c7ee63 Bookmarks: Add empty state to page (#92693) 2024-08-29 16:58:19 +01:00
Joao Silva
6ab120a448 Bookmarks: Fix interaction tracking bug (#92653) 2024-08-29 16:52:52 +01:00
maicon
9e6a464328 UniStore: Remove unused feature toggles from docs (#92688)
`grafanaAPIServer` got removed on https://github.com/grafana/grafana/pull/81030
`idForwarding` got removed on https://github.com/grafana/grafana/pull/92209

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-08-29 18:27:38 +03:00
Carl Bergquist
56d35d32e2 Scopes: increase limit on list calls to storage (#92687)
scopes: increase limit on list calls to storage

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-08-29 18:12:11 +03:00
Sarah Zinger
c0b2fafd5e Ensure that datasource apiservers receive and forwards headers (#92304)
* Ensure that datasource apiservers receive and forwards headers for datasources:
- adds log line for prometheus to see when from alert header is received
- add logging to the datasource apiserver
- Updates the Connect func in sub query to forward expected headers to datasources and log unexpected ones.
2024-08-29 11:06:25 -04:00
maicon
2b3d2e5b40 UniStore: Remove leftover references to unifiedStorage feature toggle (#92685)
it got removed on https://github.com/grafana/grafana/pull/92192

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-08-29 18:04:36 +03:00
Señor Performo - Leandro Melendez
f4249c2141 docs: Bar gauge doc updates adding why and how, explaining data needs (#92374)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-29 10:36:54 -04:00
Señor Performo - Leandro Melendez
1d34fc2d1a docs: Barchart doc updates add video, why, how and data needs (#92262)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-29 10:34:32 -04:00
Ashley Harrison
d2ee4d1005 RadioButtonGroup: Ensure background colour displays properly (#92665)
add background colour to RadioButtonGroup
2024-08-29 15:16:04 +01:00
Tom Ratcliffe
6298825cf7 Alerting: Consolidate mute timings selector logic (#92372) 2024-08-29 15:09:53 +01:00
Sven Grossmann
15a4ff992b Explore Logs: Add feature flags (#92670) 2024-08-29 15:55:59 +02:00
Timur Olzhabayev
dfba5776b9 Doc: Adding information about datasource UID enforcement (#92659)
* Adding information about datasource UID enforcement

* Style and content fixes (#92667)

This fixes:
- datasource to data source as per our style guide
- some other minor typos
- style and content

* fixing prettier lint

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2024-08-29 13:54:47 +00:00
Larissa Wandzura
f9d38c8869 Docs: Re-order Explore docs in TOC (#92624)
* re-ordered Explore docs for cohesion

* ran prettier
2024-08-29 08:33:14 -05:00
Jack Baldry
5e89a9060b Remove all documented references to time_options (#92657) 2024-08-29 13:47:26 +01:00
Victor Marin
6ddb96ada2 Add extra width to menu to accomodate checkbox (#92600)
* Add extra width to menu to accomodate checkbox

* modify value
2024-08-29 15:28:00 +03:00
Leonor Oliveira
66e0121dd5 Pass resource name into the dual writer initialization (#92654) 2024-08-29 13:30:48 +02:00
Ryan McKinley
82417c916f K8s: Use stacks plural not singular in grafana namespaces (#92550) 2024-08-29 14:15:00 +03:00
Victor Marin
454d36167e DashboardScene: Fix issue where panels are lost from dashboard (#92118)
* fix issue where panels aren't added to rows

* refactor
2024-08-29 13:56:42 +03:00
Ashley Harrison
68ca6e9610 MetricGraphScene: Position properly when bodyScrolling is enabled (#92289)
handle positioning of MetricGraphScene when bodyScrolling is enabled
2024-08-29 11:35:59 +01:00
Jack Westbrook
ec89854c5e Performance: Lazy load built in panel plugins (#92490)
feat(plugins): lazy load built in panel plugins
2024-08-29 11:54:31 +02:00
Ieva
a72b557886 Docs: Extend docs with service account limitations (#92630)
* extend docs with service account limitations

* linting

* Apply suggestions from code review

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

* PR feedback

* more PR feedback

* linting

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-29 09:50:11 +00:00
Kawthar Alakri
bd974bd791 New Select: Unit tests base cases (#92485)
* init commit

* New Select test cases

* click + scroll and click test cases

* code format

* code format
2024-08-29 11:45:21 +02:00
Andres Martinez Gotor
f9cd0fe5d1 Add debug headers when downloading plugins (#92579) 2024-08-29 11:30:21 +02:00
renovate[bot]
4209c13155 Update dependency @types/diff to v5.2.2 2024-08-29 09:23:00 +00:00
Laura Fernández
7e92cea000 TutorialCard: Fix link to tutorial not opening (#92599) 2024-08-29 11:22:50 +02:00
Bogdan Matei
1e1b554ff3 Scopes: Fix long texts for suggested dashboards (#92641) 2024-08-29 12:20:56 +03:00
Ashley Harrison
cec447cf7a Drawer: Fix drawer mask positioning (#92318)
fix drawer mask positioning
2024-08-29 09:56:26 +01:00
renovate[bot]
90319c9482 Update dependency stylelint to v16.9.0 (#92608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 09:51:18 +01:00
Laura Fernández
8aaa155cb0 singleTopNav: Create feature toggle (#92610) 2024-08-29 10:48:32 +02:00
Karl Persson
56487d37db Authn: No longer hash service account token twice during authentication (#92598)
* APIKey: Only decode and hash token once during authentication

* Only update last used every 5 minutes
2024-08-29 09:56:23 +02:00
Charandas
4f024d94d8 Authn: resolve issues with setting up a nil identity (#92620) 2024-08-29 00:49:41 +03:00
Adela Almasan
692280cd32 BarGauge: Add legend support (#92449) 2024-08-28 23:26:55 +03:00
Gilles De Mey
9d173ef579 Alerting: Fixes incorrect cache invalidation for silences when no silences exist (#92322) 2024-08-28 17:25:10 +01:00
renovate[bot]
a2602031c0 Update dependency react-zoom-pan-pinch to v3.6.1 (#92606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 17:19:35 +01:00
Eric Leijonmarck
577ebb3444 LBAC for datasources: Update swagger documentation (#92594)
* LBAC for datasources: Update swagger documentation

* update swagger again
2024-08-28 17:04:57 +01:00
renovate[bot]
8324a720f4 Update dependency @grafana/scenes to v5.10.2 2024-08-28 18:43:44 +03:00
Ida Štambuk
1735235277 Chore: Update elasticsearch_test.go (#92602) 2024-08-28 17:34:57 +02:00
renovate[bot]
faf2178a98 Update dependency react-hook-form to v7.53.0 (#92585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 16:19:39 +01:00
Eve Meelan
7057bd7caf replace myself with Irene in CODEOWNERS (#92589)
Update CODEOWNERS
2024-08-28 10:57:24 -04:00
Gábor Farkas
abca0380a8 use count_bytes_reader from plugin-sdk-go (#92553)
* use count_bytes_reader from plugin-sdk-go

* run `make update-workspace`

* update postgres tests

* update mysql tests

* time back to utc

* make update-workspace done

---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2024-08-28 16:44:13 +02:00
Leonor Oliveira
09f102b72e Remove condition on where we return from unified storage in mode2 (#92593) 2024-08-28 16:31:53 +02:00
Hugo Kiyodi Oshiro
01b9ad3789 Plugins: Hide update all plugins in cloud (#92597) 2024-08-28 16:21:46 +02:00
Andrew Hackmann
f8af6f4eea Graphite: Add @ to the lexer (#92546)
Add @ to the lexer
2024-08-28 09:12:23 -05:00
Andrew Hackmann
e0a0942203 Graphite: Tag values are queried with dashboard time range (#92167)
add time range to get tag values in graphite
2024-08-28 09:08:46 -05:00
Gabriel MABILLE
2a1a43fc9b PermissionRegistry: Error on unknown kind (#91469)
* PermissionRegistry: Error on unknown kind

* Account for PR feedback

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

* Add missing alerting scope

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-08-28 15:58:25 +02:00
Todd Treece
2bb2183b41 Scopes: Move title and groups to status in ScopeDashboardBinding (#92377)
---------

Co-authored-by: Kyle Brandt <kyle@grafana.com>
Co-authored-by: Bogdan Matei <bogdan.matei@grafana.com>
2024-08-28 08:59:18 -04:00
Arati R.
34149c86d0 Provisioning: Prevent provisioning folder errors from failing startup (#92560)
* Prevent provisioning folder errors from failing startup
* Refactor setting of dashboard provisioner
2024-08-28 14:49:00 +02:00
renovate[bot]
68751ed310 Update dependency i18next to v23.14.0 (#92584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 13:35:21 +01:00
Arati R.
c5b377f06e Provisioning: Revert "Allow startup when there are dashboard provisioning failures" (#92568)
Revert "Provisioning: Allow startup when there are dashboard provisioning failures (#92201)"

This reverts commit 927ce6c700.
2024-08-28 14:19:59 +02:00
Karl Persson
1eb49e1b0f Chore: restructure legacy store for identity (#92572)
* Restructure user queries

* restructure display query

* restructure team queries

* restructure team bindings query

* Restructure team members

* Restructure store
2024-08-28 14:15:26 +02:00
renovate[bot]
965a9e2d79 Update dependency eslint-plugin-testing-library to v6.3.0 (#92581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 13:01:25 +01:00
Eric Leijonmarck
6a19278f23 API Keys: Removal & Redirect of Create endpoint (#92144)
* API keys: redirecting of create endpont

* update naming and using admonition

* fmt

* Apply suggestions from code review

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

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-08-28 12:20:36 +01:00
renovate[bot]
909d0fac35 Update dependency @types/node to v20.16.2 (#92576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 12:15:38 +01:00
Mihai Doarna
2b70945fda Auth: Display page not found when the provider is invalid (#92563)
display page not found when the provider is invalid
2024-08-28 14:06:24 +03:00
renovate[bot]
a9c2c97531 Update dependency @opentelemetry/semantic-conventions to v1.27.0 (#92566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 11:44:50 +01:00
renovate[bot]
58ecb8e3d8 Update dependency @tanstack/react-virtual to v3.10.5 (#92561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 12:59:41 +03:00
renovate[bot]
c92f5169d1 Update dependency @prometheus-io/lezer-promql to v0.54.1 (#92556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 10:16:31 +01:00
renovate[bot]
726fe8bd9c Update dependency rudder-sdk-js to v2.48.17 2024-08-28 08:55:18 +00:00
Aaron Godin
86e8e3b75d Revert "RBAC: Optimize permissions caching" (#92548)
Revert "RBAC: Optimize permissions caching (#92412)"

This reverts commit 488e994d37.

Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-08-28 10:44:38 +02:00
Karl Persson
4addd9637e Team: Add sub resource and api for team members (#92492)
* Add team members as a sub resource

* Fix and clean up pagination for teams

* Fix and clean up pagination for users

* Fix and clean up pagination for service accounts

* Update snapshots
2024-08-28 10:30:23 +02:00
renovate[bot]
72be3e861e Update dependency webpack to v5.94.0 [SECURITY] (#92545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 09:29:33 +01:00
renovate[bot]
1552ab0eb7 Update dependency @opentelemetry/semantic-conventions to v1.26.0 (#92518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-28 09:28:46 +01:00
Hugo Kiyodi Oshiro
af976c9a0b Plugins: Set isFullyInstalled false on plugin uninstall (#92503) 2024-08-28 09:50:48 +02:00
Todd Treece
85ef26a85d K8s: Add generic support for status (#92378) 2024-08-28 03:45:04 +03:00
Adela Almasan
39fda067cf BarGauge: Add option to hide the names (#92450) 2024-08-27 17:21:35 -05:00
Charandas
af2e79aa83 K8s: namespace mapper should use authlib's util (#92332) 2024-08-27 15:01:42 -07:00
Señor Performo - Leandro Melendez
f9719d4ee9 docs: Added geomap missing headings, why and how describing data needs (#92237)
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-27 17:44:11 -04:00
Señor Performo - Leandro Melendez
f17bc146c2 docs: Nodegraph doc updates adding why and how explaining data needs (#92258)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-08-27 17:30:36 -04:00
Galen Kistler
867f3f793c Logs Panel: Only send DataHoverClearEvent on container mouse leave event (#92526)
* fix: stop sending clear events between every row, and only when the mouse leaves the container
2024-08-27 22:44:17 +03:00
Andreas Christou
931d64b8fc CI: Run prettier in bump-version workflow (#92195)
Run prettier
2024-08-27 20:21:51 +01:00
Isabel Matwawana
85cd9cbe25 Docs: Show youtube videos in what's new 11.2 (#92520) 2024-08-27 14:09:31 -04:00
Señor Performo - Leandro Melendez
1c1b081a4c docs: Update logs doc adding why and how to including data reqs (#92166)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-27 14:09:20 -04:00
grafana-delivery-bot[bot]
52f60cd4f9 Release: update changelog for 11.2.0 (#92494)
* Update changelog

* Update changelog

* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 18:15:37 +01:00
renovate[bot]
d5b7b4ba58 Update dependency @grafana/experimental to v1.8.0 (#92515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-27 17:38:09 +01:00
Piotr Jamróz
573e16fa3b CI: Null check for author (#92516)
Null check for author
2024-08-27 18:32:01 +02:00
maicon
de2c9a06bf Unified Storage: First iteration Dual Write Syncer (#89809)
* Unified Storage: First iteration Dual Write Syncer

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Leonor Oliveira <9090754+leonorfmartins@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
2024-08-27 13:31:40 -03:00
renovate[bot]
2235825ef9 Update dependency ts-jest to v29.2.5 2024-08-27 16:15:49 +00:00
Jack Baldry
847b84004d Reorganize Explore Metrics content so OSS TOC matches Cloud (#92501) 2024-08-27 17:02:07 +01:00
Andreas Christou
d00abe0972 CI: Update inputs to allow specifying previous version (#92506)
* Update inputs to allow specifying previous version

* Add one more input
2024-08-27 16:49:23 +01:00
renovate[bot]
aae8527410 Update dependency knip to v5.27.4 2024-08-27 15:46:36 +00:00
renovate[bot]
475fb6ac3a Update dependency @types/lodash to v4.17.7 (#92482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-27 16:09:01 +01:00
Isabel Matwawana
18726943a3 Docs: Add videos to What's new 11.2 (#92444) 2024-08-27 11:07:34 -04:00
Stephanie Hingtgen
a4266df16d SQL Store: Fix parse time setup (#92484) 2024-08-27 17:39:27 +03:00
grafana-pr-automation[bot]
aba4b42973 I18n: Download translations from Crowdin (#92493)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-27 17:20:36 +03:00
Misi
a3d688c8ed CLI: Provide the list of admins if the admin with the default ID was not found (#92217)
* Provide the list of admins if the admin with the default ID was not found

* Clean up

* Update docs

* Update docs/sources/cli.md

Co-authored-by: Dan Cech <dcech@grafana.com>

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

Co-authored-by: Dan Cech <dcech@grafana.com>

* Lint

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-08-27 16:01:33 +02:00
grafana-pr-automation[bot]
a884e03dc5 I18n: Download translations from Crowdin (#91912)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-27 16:59:52 +03:00
Tobias Skarhed
92491dd78c New Select: Semi-dynamic option width support (#92284)
* Fix button role and input id

* Use static height and dynamic width

* Estimate dynamic width

* Extract constant

* Remove unused code

* Extract dynamic width into a hook

* Remove console.log

* Add comment to the constants

* Update packages/grafana-ui/src/components/Combobox/Combobox.tsx

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>

* Update packages/grafana-ui/src/components/Combobox/getComboboxStyles.ts

---------

Co-authored-by: Laura Fernández <laura.fernandez@grafana.com>
2024-08-27 15:51:25 +02:00
Kim Nylander
f063088188 [DOC] Update TraceQL query editor doc (#91910)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-27 14:49:49 +01:00
Kristian Bremberg
24afc7a5b3 TextPanel: Allow iframes (after sanitization) (#92299)
* Allow iframes in text panel

* add more attributes

* remove =true
2024-08-27 14:44:58 +01:00
grafana-delivery-bot[bot]
7c408f5e16 Release: update changelog for 11.1.5 (#92488)
* Update changelog

* Lint

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 14:39:32 +01:00
Alexander Zobnin
0e0c877609 Zanzana: Model fixed roles as a part of schema (#92364)
* model fixed roles for dashboards and folders

* Correctly translate fixed role assignments

* minor refactor

* assign fixed roles to teams

* fix linter errors

* Migrate general folder permissions for fixed roles

* fix dashboards:create permission
2024-08-27 15:39:22 +02:00
Juan Cabanas
8862578f50 ShareDrawer: Wrap render logic and add shareView query param (#92060) 2024-08-27 16:31:07 +03:00
grafana-delivery-bot[bot]
c588882c26 Release: update changelog for 11.0.4 (#92480)
* Update changelog

* Fix lint

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 14:11:27 +01:00
Jack Westbrook
892a50a3b7 Performance: Load shared frontend plugin dependencies on demand (#87644)
* feat(plugins): only load shared plugin dependencies when needed

* feat(plugins): add react-redux and fix up comments

* feat(plugins): attempt to load async deps in fe sandbox

* feat(frontend): defer script execution to prevent systemjs from loading app.js
2024-08-27 15:10:26 +02:00
renovate[bot]
1e32e98bf6 Update dependency @grafana/faro-web-tracing to v1.9.1 2024-08-27 12:41:19 +00:00
Matheus Macabu
b132d921b7 CloudMigrations: point cloud instance to sef-serve guide (#92471) 2024-08-27 13:25:51 +01:00
renovate[bot]
e66979765d Update dependency @grafana/faro-web-sdk to v1.9.1 2024-08-27 12:18:44 +00:00
grafana-delivery-bot[bot]
1654ffeef4 Release: update changelog for 10.4.8 (#92476)
* Update changelog

* Lint CHANGELOG

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-08-27 13:16:04 +01:00
Ashley Harrison
2318e32c9f Chore: Migrate legacy dropdown styles to emotion/angular file (#92282)
migrate legacy dropdown classes to emotion/angular file
2024-08-27 12:40:54 +01:00
Hugo Kiyodi Oshiro
0f24c89c91 Plugins: Add update all plugins feature (#92229) 2024-08-27 13:38:39 +02:00
renovate[bot]
37f0c0d00f Update dependency @grafana/faro-web-sdk to v1.9.1 2024-08-27 11:35:54 +00:00
grafana-delivery-bot[bot]
32c3e17e58 Release: update changelog for 10.3.9 (#92467)
* Update changelog

* Lint Changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-08-27 13:34:19 +02:00
Ryan McKinley
c59dddf7af MySQL: Add parseTime=true to SQL connections (#92469) 2024-08-27 14:16:04 +03:00
renovate[bot]
c98e3e0483 Update dependency @grafana/faro-core to v1.9.1 2024-08-27 11:08:19 +00:00
Laura Benz
6950093911 RestoreDashboards: Set preselected folder in folder picker for restoring several dashboards from the same folder (#92403)
* feat: add condition for several dashboards

* refactor: clean up

* refactor: clean up and comment

* refactor: clean up

* refactor: clean up
2024-08-27 14:06:23 +03:00
renovate[bot]
a99e32947a Update dependency @floating-ui/react to v0.26.23 (#92470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-27 13:44:26 +03:00
Jack Westbrook
c0a719caa7 Datalinks: Fix context menu position for body scroll (#92389)
* fix(datalinks): position context menu offest to vertical window scroll

* feature toggle change

* enhance boot data mock with empty featureToggles

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-27 13:28:48 +03:00
Ryan McKinley
5a30e12a10 SQLTemplate: Make Ident only work for identifiers (not any string) (#92387) 2024-08-27 13:22:40 +03:00
Ashley Harrison
437747f250 update committed yarn version 2024-08-27 13:18:56 +03:00
renovate[bot]
02f1bb7b46 Update Yarn to v4.4.1 2024-08-27 13:18:56 +03:00
Laura Benz
1f35bc8346 RestoreDashboards: Make confirmation text consistent (#92388)
* refactor: change wording

* refactor: change API

* refactor: clean up
2024-08-27 13:13:48 +03:00
Joao Silva
f1ba609b34 Chore: Upgrade micromatch to version without CVE-2024-4067 (#92405) 2024-08-27 10:16:59 +01:00
Erik Sundell
b648ce3acf Plugin extensions: Introduce new registry for added components (#91877)
* add added component registry

* fix broken test

* add tests for usePluginComponents hook

* readd expose components

* add type assertion exceptions to betterer results

* use new addedComponent registry in legacy endpoints

* remove unused code

* cleanup

* revert test code

* remove commented code

* wrap in try catch

* pr feedback
2024-08-27 11:14:04 +02:00
Ryan McKinley
419edef4dc LibraryPanels: Expose library panels in dashboard apiserver (#92213) 2024-08-27 12:12:22 +03:00
renovate[bot]
7ad3d9bf76 Update dependency @grafana/plugin-e2e to v1.7.1 (#92308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-27 09:47:37 +01:00
Alexander Zobnin
488e994d37 RBAC: Optimize permissions caching (#92412)
* Access control: Use composite cache key for team permissions

* use composite key for teams

* use cache for hotpath (getCachedUserPermissions)

* fix linter

* fix sorting

---------

Co-authored-by: Jeff Levin <jeff@levinology.com>
2024-08-27 10:31:52 +02:00
Hugo Kiyodi Oshiro
a54ec2341c Plugins: Hide GetStartedWithDataSource when cloud plugin is not fully installed (#92402) 2024-08-27 10:14:40 +02:00
Alexander Akhmetov
7f6b6dea45 Alerting: Change expire placeholder for Pushover in the UI to 10800 seconds (#92379)
* Alerting: Change max retry for Pushover in the UI to 10800 seconds
* Update alerting to 70248a7a3a674e50e026a37205ebac86e1ec25fd
2024-08-27 11:13:58 +03:00
github-actions[bot]
3141c39d1f Update make docs procedure (#92340)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-27 08:53:39 +01:00
brendamuir
667cbd626c Alerting docs: adds display names to fixed roles for RBAC (#92357)
* Alerting docs: adds display names to fixed roles for RBAC

* ran prettier

* updates descriptions

* preposition update

* ran prettier
2024-08-27 09:23:04 +02:00
Karl Persson
2872e11c13 Teams: Add apis for team membership (#92204)
* Add TeamBinding resource

* Implement read api:s for TeamBindings
2024-08-27 08:31:29 +02:00
Pepe Cano
2ba930ab1f Alerting Docs: Monitor your high availability setup (#92063)
* Alerting Docs: Monitor your high availability setup

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

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

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

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

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

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

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

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

* Shorten links

* Update/reorder a bit the description about alertmanager gossiping

* Update `alertmanager_peer_position` description

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-27 08:01:14 +02:00
Señor Performo - Leandro Melendez
336e6d97b7 docs: time series add why use it and how to data needs (#92158)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-26 17:25:05 -04:00
Andrew Hackmann
eac194815e MSSQL: decouple plugin (#89597)
* decouple from core

* yarn decouple

* make health check work and azure config

* f

* driver error not needed

* merge
2024-08-26 23:09:21 +03:00
Yuri Tseretyan
4755eb5176 Alerting: Support template UID in template service (#92164)
* add uid to template and populate it
* update delete method to support both uid and name
* update UpdateTemplate to support search by UID and fallback to name + support renaming of the template
* update upsert to exit if template not found and uid is specified
* update Get method to address by name or uid

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2024-08-26 23:05:38 +03:00
Señor Performo - Leandro Melendez
354aee951d docs: added explanation of why to use tables and how to use with their data needs (#92150)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-26 15:50:32 -04:00
Isabel Matwawana
6a15b677d8 Docs: What’s new & Upgrade guide v11.2 (#91847)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2024-08-26 15:49:19 -04:00
Eric Leijonmarck
413b511452 Revert "feat: Add new read filtering to datasources guardian" (#92407)
Revert "feat: Add new read filtering to datasources guardian (#91345)"

This reverts commit 0176ead117.
2024-08-26 13:16:04 -04:00
Carl Bergquist
61074e7e5e Devenv: Adds docker for prometheus with high cardinality labels. (#91035)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2024-08-26 19:12:59 +02:00
Matias Chomicki
3f88188a42 Logs panel: update internal displayed fields when the prop changes (#92418) 2024-08-26 19:08:01 +03:00
Alexander Weaver
490d6ba2fd Alerting: Extend scheduler user with datasources:read (#92410)
Add permission
2024-08-26 10:59:54 -05:00
Sonia Aguilar
857e2b1bc3 Alerting: update Grafana recording rule name placeholder (#92406)
update Grafana recording rule name placeholder
2024-08-26 15:34:49 +00:00
Agnès Toulet
79abc0cf1d Runtime: Make dashboardSceneSolo flag updatable at runtime (#92290)
Runtime: Make dashboardSceneSolo flag updatable at runtimeuntime
2024-08-26 17:12:01 +02:00
Matthew Jacobson
32f06c6d9c Alerting: Receiver API complete core implementation (#91738)
* Replace global authz abstraction with one compatible with uid scope

* Replace GettableApiReceiver with models.Receiver in receiver_svc

* GrafanaIntegrationConfig -> models.Integration

* Implement Create/Update methods

* Add optimistic concurrency to receiver API

* Add scope to ReceiversRead & ReceiversReadSecrets

migrates existing permissions to include implicit global scope

* Add receiver create, update, delete actions

* Check if receiver is used by rules before delete

* On receiver name change update in routes and notification settings

* Improve errors

* Linting

* Include read permissions are requirements for create/update/delete

* Alias ngalert/models to ngmodels to differentiate from v0alpha1 model

* Ensure integration UIDs are valid, unique, and generated if empty

* Validate integration settings on create/update

* Leverage UidToName to GetReceiver instead of GetReceivers

* Remove some unnecessary uses of simplejson

* alerting.notifications.receiver -> alerting.notifications.receivers

* validator -> provenanceValidator

* Only validate the modified receiver

stops existing invalid receivers from preventing modification of a valid
receiver.

* Improve error in Integration.Encrypt

* Remove scope from alert.notifications.receivers:create

* Add todos for receiver renaming

* Use receiverAC precondition checks in k8s api

* Linting

* Optional optimistic concurrency for delete

* make update-workspace

* More specific auth checks in k8s authorize.go

* Add debug log when delete optimistic concurrency is skipped

* Improve error message on authorizer.DecisionDeny

* Keep error for non-forbidden errutil errors
2024-08-26 10:47:53 -04:00
Irene Rodriguez
22ad1cc16f update minimum supported version for MySQL (#92356) 2024-08-26 10:39:02 -04:00
Julien Duchesne
3ac8760321 OpenAPI: Fix ValidationError message attribute (#90846)
It's `message`, not `msg`. It's been fixed for a while here: 9ef6983612/scripts/pull-schema.sh (L46-L49)

I've also reflected the change in the tests
2024-08-26 10:05:37 -04:00
Julien Duchesne
087df1d8e5 OpenAPI: Fix alerting DeleteMuteTiming errors (#91109)
The `GenericPublicError` is not what is actually returned by the API. Using `PublicError` describes the API correctly
2024-08-26 10:04:36 -04:00
Julien Duchesne
0075abe383 OpenAPI: Fix ProvisionedAlertRule.for type (#90841)
This override has been in the client for a while now: 9ef6983612/scripts/pull-schema.sh (L34-L39)

The API expects a string here and transforms it to a duration internally
2024-08-26 10:04:15 -04:00
Erik Sundell
1373b37166 Plugin Extensions: E2E test addLink and legacy APIs (#92394)
* cleanup tests

* more cleanup

* added links

* test legacy hooks

* test legacy hooks

* update codeowners

* revert package changes

* add project specfic example script

* remove console log

* Update .github/CODEOWNERS

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

* Update CODEOWNERS

* use correct file names

* cleanup tests

---------

Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2024-08-26 16:01:32 +02:00
Lucy Chen
a2de893ab3 ShareModal: Change public dashboard text to shared dashboard (#92327)
* update text

* update link
2024-08-26 09:56:48 -04:00
Aaron Godin
7623a844ba Add test-go-unit-pretty (#91645)
Add make task for executing go test over a set of files and piping to tparse
2024-08-26 08:32:42 -05:00
Bogdan Matei
605bc811d2 Scopes: Group suggested dashboards (#92212) 2024-08-26 16:08:27 +03:00
Kristina
1dd830b9f1 Correlations: Migrate config type to root (#91855)
* WIP

* Validate new field, and add value in provisioning if not defined in correct spot

* Simplify logic, use correct value

* fix tests

* Fix linter errors

* fix swagger and tests

* 😬

* Auto-generation isnt doing this..

* Fix linter

* test if nullable is the issue…

* Change structure on the frontend fields

* Try with backtick

* try programatic quoting

* Try only quote non-ints

* quoting, no backticks

* Remove debugging
2024-08-26 08:02:48 -05:00
Kyle Brandt
84e5c3af22 Prometheus/Promlib: Remove the PrometheusDataplane feature so always enabled (#92218)
This has been default behavior since v10

---------

Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
2024-08-26 08:53:38 -04:00
Hugo Kiyodi Oshiro
fa95eb8c02 Plugins: Fix big query credentials and improve detailed report errors (#92373) 2024-08-26 13:46:24 +02:00
Sonia Aguilar
116f29be74 Alerting: Update starting version for central ash (OSS users) (#92399)
* Update starting version for central ash (OSS users)

* Update version

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-26 11:41:38 +00:00
Mihai Doarna
096c25a285 Docs: Update TLS info from the LDAP config example (#91975)
* update TLS info from the LDAP config example

* address feedback
2024-08-26 12:43:01 +03:00
Konrad Lalik
30035b2367 Alerting: Fix invalid loading condition for vanilla Prometheus rules (#92390)
Remove invalid loading condition
2024-08-26 11:39:53 +02:00
Torkel Ödegaard
f990759633 Dashboards: Fixes timing issue when restoring scroll position (#92342) 2024-08-26 10:08:59 +02:00
Haris Rozajac
4015711133 Query Library: Interaction events for query library (#92159)
* interaction events for query library

* track adding or editing description

* Update to specify it's in explore
2024-08-23 16:17:38 -06:00
Lucy Chen
bef7139af0 Sharing Redesign: Export feedback changes (#92346)
* adjust height of codeEditor

* 75%
2024-08-23 16:09:02 -04:00
Joseph Perez
8cc95a7459 Docs: Edit contribute/style-guides (part 11 of doc improvement project) (#92169)
* Docs: edit contribute/style-guides

* Add missing 'is'

* Improve grammar of code comment

* Prettier fixes

* Minor fix

* Minor fix

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-23 08:08:04 -07:00
linoman
ca66133636 SSO LDAP - Address pending PR review comments (#92368)
* Address pending PR review comments

* Update i18n
2024-08-23 16:35:00 +02:00
Konrad Lalik
494376c5a9 Alerting: Fix resample expression and relativeTimeRange updates (#91689)
* Use dag to find origin nodes when updating resample queries

Co-authored-by: Gilles De Mey <gilles.demey@grafana.com>

* lint

* fix test and types

* short-circuit function

* Prevent cycles in DAG

* Handle dag cycle error

* Catch the cyclic link error in dashboard variables

---------

Co-authored-by: Gilles De Mey <gilles.demey@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-08-23 15:22:33 +02:00
SADIK KUZU
b4e7329543 Docs: Fix typo in installation/debian/index.md (#92040)
Fix typo in installation/debian/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-23 06:44:11 -05:00
Karl Persson
ddee95cb6d Team: Create permission type for team membership (#92352)
* Create permission type enum for team and remove usage of dashboard permission type
2024-08-23 12:34:34 +02:00
Arati R.
927ce6c700 Provisioning: Allow startup when there are dashboard provisioning failures (#92201)
* Stop returning an error if dashboard provisioning fails
* Test that Run() does not error when dashboard provisioning fails
2024-08-23 11:48:42 +02:00
Tito Lins
4a124469fa Check is config is default by comparing hashes (#92296) 2024-08-23 11:22:06 +02:00
Andres Martinez Gotor
a990b77c70 Add preinstall feature to defaults.ini (#92347) 2024-08-23 10:32:23 +02:00
Erik Sundell
d8ec95e9b1 E2E: Add support for building test plugins (#91873)
* build test apps with webpack

* add extensions test app

* update e2e tests

* remove non-build test apps using amd

* use @grafana/plugin-configs rather than create-plugin config

* Update e2e/plugin-e2e/plugin-e2e-api-tests/as-admin-user/extensions/usePluginComponents.spec.ts

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

* Update package.json

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

* use run dir variable instead of hardcoded path

* add dummy licence file

* add separate step for building test plugins

* support nested plugins

* remove react-router-dom from the externals array

* remove add_mode dev

* lint starlark

* pass license path as env variable

* fix the path

* chore(e2e-plugins): clean up dependencies to match core versions

* refactor(e2e-plugins): prefer extending webpack plugins-config

* docs(e2e-plugins): add basic info to extensions test plugin readme

* update readme

* change dir name from custom plugins to test plugins

* change root readme

* update lockfile

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-08-23 09:00:03 +02:00
Alex Khomenko
0af4a20b58 Routing: Import useLocation from compat package (#92071)
* Routing: Import useLocation from compat package

* Add ComparRouter

* Add CompatRouter

* Fix tests

* Add CompatRouter to TestProvider

* Use findBy

* Remove AppChromeService

* Remove historyOptions

* Routing: Fix alerting/test utils issues from react compat router usage (#92127)

* Use render from test-utils

* Use compat router

* Convert more tests

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-08-23 09:54:13 +03:00
Isabel Matwawana
d24b21d3ef Docs: update cell inspect behaviour (#92334) 2024-08-22 21:26:42 +00:00
Kevin Yu
3d3879fe6c List Aurora as an enterprise plugin (#92292) 2024-08-22 14:05:59 -07:00
Sven Grossmann
ec857e1de9 Loki: Add dashboard and panel names as headers (#92096)
* feat(nameHeaders): add feature flag

* add safe parsing of headers

* use headers in loki datasource

* Loki: add option to pass headers to Loki

* Loki: add datasource tests for dashboard names

* cleanup

* DataSourceWithBackend: add test

* rename to `sanitizeHeader`

* Loki: add condition when to add headers

* Loki: add e2e tests

* Loki: change test name
2024-08-22 21:30:43 +02:00
Joseph Perez
a7b57be04f Docs: Edit style-guides (part 12 of doc improvement project) (#92263)
* Docs: Edit style-guides (part 12)

* Update contribute/style-guides/storybook.md

* Prettier fixes
2024-08-22 12:15:12 -07:00
Joseph Perez
8f807a2df7 Docs: Fix broken link in developers/contribute (#92328) 2024-08-22 11:35:54 -07:00
Marcus Andersson
95409f53d2 Bugfix: QueryField typeahead missing background color (#92216)
Added missing styles to the typeahead menu.
2024-08-22 16:16:48 +01:00
linoman
9fbfaf08a6 SSO LDAP: Add LDAP settings drawer (#92199)
* Add LdapDrawer component

* Add success message for discarding LDAP settings

* Add Use SSL tooltip

* Add min tls version field

* Change alert error to alert success

* Add tls ciphers field

* Update i18n

* rename ssl for tls

* rename ldap to LDAP
2024-08-22 17:16:18 +02:00
Christian Inkster
922babb157 Alerting: Add mutex to Redis HA subs (#89870) 2024-08-22 16:01:33 +01:00
renovate[bot]
81935a3af1 Update dependency @grafana/experimental to v1.8.0 (#92283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-22 15:50:27 +01:00
Alexander Akhmetov
832bb01f36 Alerting: Add MQTT notifications receiver (#91487)
* Alerting: Add MQTT notifications receiver
* Update alerting to 9daa6239cc41dc42bff0e916c8d0d27766caa8b9 (main)
---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-22 16:47:48 +02:00
Victor Marin
9c73916f09 Fix tests failing due to harcoded date (#92293)
fix tests failing due to harcoded date
2024-08-22 17:27:40 +03:00
Isabel Matwawana
69f50b3e88 Docs: remove aliases from incorrect files (#92244) 2024-08-22 10:24:50 -04:00
Irene Rodriguez
3999b4b616 Added admonition about time zones (#92288)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-22 14:08:57 +00:00
Affan Amir Mir
4aecb02be2 Update index.md with instructions to install plugins for helm (#92180)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-22 17:06:36 +03:00
Andres Martinez Gotor
c20ba5b09d Add some basic stats for plugin preinstalls (#92220) 2024-08-22 16:17:27 +03:00
William Wernert
dfbddd8262 Alerting: Fix recording rule export (#91405)
* Fix HCL export

* Update rule export struct to support new optional fields

* Omit `for` field in export API if empty
2024-08-22 09:04:21 -04:00
Gilles De Mey
00381711a4 Alerting: useProduceNewRuleGroup for creating / updating alert rules. (#90497)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-08-22 15:57:23 +03:00
renovate[bot]
c315c2719d Update dependency stylelint to v16.8.2 2024-08-22 12:33:59 +00:00
Andres Martinez Gotor
1b336e94c8 Chore: Check version compatibilty when installing a plugin (#92200) 2024-08-22 13:47:00 +02:00
renovate[bot]
f188da7b65 Update dependency rudder-sdk-js to v2.48.16 2024-08-22 11:38:21 +00:00
Torkel Ödegaard
3e84b2ba2f Dashboard: Fixes closing share modal (#92267) 2024-08-22 13:35:24 +02:00
renovate[bot]
7b9843bc13 Update babel monorepo to v7.25.4 2024-08-22 10:30:18 +00:00
Aaron Godin
0176ead117 feat: Add new read filtering to datasources guardian (#91345)
* feat: Add new read filtering to datasources guardian

* Apply suggestion to use datasources read guardian check for frontend settings

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-08-22 11:26:46 +01:00
renovate[bot]
94a119ac63 Update dependency ol-ext to v4.0.23 2024-08-22 10:09:11 +00:00
Alex Khomenko
022892ef72 Routing: Add CompatRouter to tests (#92114)
* Add CompatRouter

* Fix tests

* Add CompatRouter to TestProvider

* Use findBy

* Remove AppChromeService

* Remove historyOptions

* Routing: Fix alerting/test utils issues from react compat router usage (#92127)

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-08-22 13:05:12 +03:00
renovate[bot]
7bee9d5e0f Update dependency knip to v5.27.3 2024-08-22 09:37:17 +00:00
Ieva
41ac5b5ae7 RBAC: Fix an issue with server admins not being able to manage users in orgs that they don't belong to (#92024)
* look at global perms if user is not a part of the target org

* use constant

* update tests
2024-08-22 10:04:06 +01:00
Sven Grossmann
40cdfeb00b Loki: Add logsample supporting query type (#92082)
* Loki: Add `logsample` supporting query type

* use `SupportingQueryType`

* add missing test
2024-08-22 09:12:50 +02:00
Konrad Lalik
db711d6a21 Alerting: Allow groups and namespaces with slashes (#92183)
* Allow rule groups and namespaces with slashes

* Fix lint
2024-08-22 08:16:28 +02:00
Brendan O'Handley
130a86d9c7 Explore metrics: Improve performance for build layout (#92238)
* revert buildLayout

* filter metric names using metricPrefix using regex

* build groups with all the metric names and only build them once

* remove commented code

* use the metrics search input results to build the prefix select options

* simplify prefix regex because we do not have to do it at the same time as the metrics search input regex
2024-08-21 20:53:44 -05:00
Lucy Chen
2ad9d8cafe ShareModal: delete shareView query param from url (#92243) 2024-08-21 19:36:20 -03:00
Todd Treece
733ae1f099 Chore: Skip gzip for apiserver routes (#92245) 2024-08-21 23:47:58 +03:00
Todd Treece
e4953b6ffd Chore: Add Dockerfile CI check for new modules (#92239) 2024-08-21 16:25:25 -04:00
Todd Treece
a86ded2438 Chore: Add apistore dependency (#92240) 2024-08-21 16:22:45 -04:00
Todd Treece
2f01286034 Storage: Add go.mod for apistore (#92224) 2024-08-21 14:32:01 -04:00
Kristin Laemmert
2d0350e786 add spans to search v2 (#92223)
add tracing spans to search v2 service
2024-08-21 13:26:34 -04:00
Kristin Laemmert
aa913b5f39 chore: add tracing to quote API and service methods with contexts (#92211)
* chore: add tracing to quote API and service methods with contexts

I also fixed a typo (overriden -> overridden) and removed a method that looked like it wasn't useful anymore. (It seemed to exist to return an error, but never returned an error, and so just added many lines of unnecessary error checking).
2024-08-21 13:24:45 -04:00
Ryan McKinley
2136fd9a92 Storage: Remove unified storage feature flag (#92192)
remove unified storage flag
2024-08-21 19:28:30 +03:00
renovate[bot]
71f0dae39e Update dependency mini-css-extract-plugin to v2.9.1 2024-08-21 16:16:12 +00:00
Todd Treece
2d43fdb29b Aggregator: Add mutation and validation handlers (#92036) 2024-08-21 19:12:53 +03:00
renovate[bot]
6891eb1d35 Update dependency knip to v5.27.2 (#92214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 16:51:23 +01:00
Ashley Harrison
9f8e68e9a1 Docs: Update adhoc filter documentation (#92197)
update adhoc filter documentation
2024-08-21 16:50:32 +01:00
Dave Henderson
df3d8915ba Chore: Bump Go to 1.23.0 (#92105)
* chore: Bump Go to 1.23.0

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* update swagger files

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore: update .bingo/README.md formatting to satisfy prettier

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore(lint): Fix new lint errors found by golangci-lint 1.60.1 and Go 1.23

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* keep golden file

* update openapi

* add name to expected output

* chore(lint): rearrange imports to a sensible order

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-08-21 11:40:42 -04:00
brendamuir
02c820382d Alerting docs: separates doc on create alerts from panels (#92131)
* Alerting docs: separates doc on create alerts from panels

* deletes previous panel section

* adds time series limitation and play link

* removes play from old topic

* ran prettier

* removed play shortcode, typo

* adds feedback from gilles

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2024-08-21 17:20:59 +02:00
Ashley Harrison
e675455502 PublicDashboards: Fix public dashboards when publicDashboardsScene is enabled (#92187)
* fix public dashboards pages when publicDashboardsScene is enabled

* properly handle react-grid-layout at small screen sizes

* use unset instead of auto
2024-08-21 16:16:12 +01:00
Kristin Laemmert
a04d2f44f8 chore: add spans to publicdashboards service methods (#92149)
* chore: add spans to publicdashboards service methods

* add tracing to test service

* test fixture whackamole

* move tracer to a package var

* Update pkg/services/publicdashboards/service/service.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-08-21 10:55:16 -04:00
Andres Martinez Gotor
21bf013a8e Add support for synchronous plugin installation (#92129) 2024-08-21 16:11:55 +02:00
Torkel Ödegaard
801f2ba728 DashboardScene: Support remember scroll position when coming back from view panel, panel edit and settings (#92185)
* DashboardScene: Support remember scroll position when coming back from view panel, panel edit and settings

* remove unused state prop

* Update

* Fixes

* Update e2e
2024-08-21 14:05:07 +00:00
Leonor Oliveira
81ce3c92d5 Remove optionsStorage and labelSelector (#92196) 2024-08-21 15:44:38 +02:00
Diego Augusto Molina
9a65d0a977 Storage: remove sqlstore.WrapDatabaseDriverWithHooks (#92111)
remove sqlstore.WrapDatabaseDriverWithHooks from Unified Storage after related incident
2024-08-21 10:31:34 -03:00
Ryan McKinley
2e60f28044 Auth: remove id token flag (#92209) 2024-08-21 16:30:17 +03:00
renovate[bot]
302bfe3edf Update dependency i18next-parser to v9.0.2 2024-08-21 13:24:51 +00:00
Matias Chomicki
1b6db3da22 Loki language provider: don't cache empty array while querying (#92092)
* Loki language provider: don't cache empty array while querying

* Prettier

* Unfocus test

* chore: add extra assertion
2024-08-21 13:07:01 +00:00
Torkel Ödegaard
4bc64dd747 Page/Body: Only show scrollbar lane gutter when needed (#92186)
* Page/Body: Only show scrollbar lane gutter when needed

* Update packages/grafana-ui/src/themes/GlobalStyles/elements.ts

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-21 14:44:12 +02:00
Fayzal Ghantiwala
8d725a641c Alerting: Integration test for testing template via remote alertmanager (#92147)
* Add integration test for testing template

* Update drone signature
2024-08-21 13:06:01 +01:00
renovate[bot]
237f8c7bac Update dependency downshift to v9.0.8 2024-08-21 11:53:12 +00:00
Ryan McKinley
9563c896ee Playlists: limit the total number of playlists (#92132) 2024-08-21 14:49:28 +03:00
Ashley Harrison
4d82139a33 Chore: Migrate _button SCSS styles to emotion globals (#92135)
migrate button styles to emotion globals
2024-08-21 12:46:30 +01:00
renovate[bot]
f26258984a Update dependency core-js to v3.38.1 2024-08-21 11:30:50 +00:00
renovate[bot]
9494e9b847 Update dependency @types/react-transition-group to v4.4.11 2024-08-21 10:58:24 +00:00
renovate[bot]
ef832219ed Update dependency @types/ini to v4.1.1 2024-08-21 10:04:09 +00:00
Ashley Harrison
292982f30b Collapse: stop cropping focus rings (#92190)
remove overflow: hidden; from bodyContentWrapper
2024-08-21 11:01:53 +01:00
renovate[bot]
584559d3c2 Update dependency @react-awesome-query-builder/ui to v6.6.3 2024-08-21 09:33:03 +00:00
renovate[bot]
a8c6000c19 Update dependency @prometheus-io/lezer-promql to v0.53.2 (#92148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-21 09:49:14 +01:00
Will Browne
aea8b60849 Plugins: Add support for fetching plugin includes from plugin CDN (#91476)
* update oss side

* add Rel func to plugins.FS

* update tests

* add comment

* fix fs paths for nested plugin

* fix test

* fix sources

* fix cdn class bug

* update tests

* remove commented out code
2024-08-21 09:46:41 +01:00
Victor Marin
e7c628f4e7 Bump scenes to 5.10.1 (#92140)
* bump scenes to 5.10.1

* mock config version

* refactor

* refactor
2024-08-21 11:45:37 +03:00
Ida Štambuk
0c55d0aa64 Features: Move openSearchBackendFlowEnabled toggle to GA (#92117) 2024-08-21 10:21:57 +02:00
Karl Persson
b6540e2a18 SSOSettings: Add api:s (#92018)
* apis: add sso setting resource

* Implement Storage for sso

* Rename packages

* Merge identity and sso package

* Update table format and expose GetNestedBool

* Restructure identity api package
2024-08-21 09:16:47 +02:00
Diego Augusto Molina
80a69319b0 WebAssets: improve checks and error messages on dtos (#92093)
fix web assets check and improve error message
2024-08-20 18:35:48 -03:00
Yuri Tseretyan
d27c3822f2 Alerting: Add Create and Update methods to Template service (#91981)
* rename SetTemplate to UpsertTemplate

* Introduce Create\Update methods

* update api endpoint to use GetTemplate
2024-08-20 15:23:01 -04:00
Kyle Brandt
cab5818bc7 Scopes: Add groups property to ScopeDashboardBinding (#92077)
- Note: The `dashboardTitle` property and this property (`groups`) are likely to move from the `spec` container to the `status` container within the `scopeDashboardBinding` object in the future.
2024-08-20 19:32:16 +03:00
renovate[bot]
15a623c344 Update dependency @playwright/test to v1.46.1 2024-08-20 16:03:07 +00:00
linoman
eecd56659c LDAP: SSO Configuration page (#91875)
* Init screen for LDAP UI

* add ldap drawer

* update routes

* update definitions

* add definitions for ldap configurations

* improve readibility

* remove whitespace

* clean up

* Adjust LdapSettingsPage

* adjust form autocomplete from backend call
2024-08-20 17:31:13 +02:00
Alexa V
cd4b7ef9db Dashboard Scene: Fix snapshots not displaying variables values (#88967)
* Use new snapshot variables from scenes

* Add snapshotVariable implementation

* Refactor: Extract variables logic from transforSaveModelToScene file

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2024-08-20 17:05:12 +02:00
Gilles De Mey
6f63def283 Alerting: Fix long Alertmanager names overflowing the window (#92023)
fix long names overflowing the window
2024-08-20 17:02:35 +02:00
brendamuir
0631322d36 Alerting docs: adds sns integration (#92075)
* Alerting docs: adds sns integration

* deletes 2000 alert rule limit

* added .md ext and set weight field to 0

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2024-08-20 16:22:07 +02:00
Sergej-Vlasov
5bfce7f590 DashboardGridItem - increase timeout in flaky panel repeat test (#92133)
increase timeout in flaky panel repeat
2024-08-20 17:19:28 +03:00
renovate[bot]
17fd8a6bc3 Update dependency @msagl/parser to v1.1.22 2024-08-20 14:01:04 +00:00
Lucy Chen
1056cc6a0d Share Panel: Library panels feature (#91419) 2024-08-20 09:56:10 -04:00
Leon Sorokin
74ebc66520 VizTooltip: Fix positioning at bottom and right edges on mobile (#92042) 2024-08-20 08:48:37 -05:00
Will Browne
d35e9264bb Plugins: Use plugins SDK constants for OAuth header names (#90892)
use SDK consts
2024-08-20 13:29:41 +01:00
Diego Augusto Molina
e788df921c Storage: always use transactions and make them readonly when possible (#92110)
* always use transactions and make them readonly when possible

* fix linters

* fix reference
2024-08-20 09:29:06 -03:00
Will Browne
704b07b3f0 Plugins: Bump plugin SDK to latest (0.244.0) (#92057)
bump SDK
2024-08-20 14:40:51 +03:00
renovate[bot]
8b11040b05 Update dependency @msagl/core to v1.1.22 2024-08-20 11:23:27 +00:00
renovate[bot]
1525ee1a04 Update dependency @lezer/highlight to v1.2.1 2024-08-20 10:23:17 +00:00
David Harris
24dad802c9 chore: update plugin schema for ui extensions (#92121)
chore: update plugin.schema.json

Follow up to https://github.com/grafana/plugin-tools/pull/1060/
2024-08-20 11:20:21 +01:00
renovate[bot]
90c5845b72 Update React Aria 2024-08-20 09:36:55 +00:00
Alexander Akhmetov
d32e1e009b Alerting: Update prometheus/client_golang to v1.20 (#92070)
Update prometheus/client_golang to v1.20
2024-08-20 11:26:06 +02:00
renovate[bot]
d9812153dd Update dependency typescript to v5.5.4 (#91678)
* Update dependency typescript to v5.5.4

* fix missing typeof

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-20 10:11:57 +01:00
Sergej-Vlasov
7c8184d5bf DashboardModel - Add fallback for variable current value fallback (#91833)
* add variable current value fallback when null

* refactor to avoid loosing reference
2024-08-20 11:55:04 +03:00
Ieva
2e9cbda448 Docs: Add cloud label to doc articles (#92007)
* add service account docs to cloud docs

* also add label to RBAC docs
2024-08-20 09:52:04 +01:00
Ashley Harrison
ab312914cd Chore: cleanup util SCSS styles (#92078)
migrate SCSS util classes
2024-08-20 09:31:04 +01:00
Laura Benz
e7b6b4cf34 RestoreDashboards: Add folder picker to restore modal (#91945)
* feat: add folder picker

* feat: run i18n extraction

* feat: add target folder to api query

* feat: hand over targetFolder data to api query

* feat: retrieve original location

* feat: Add condition for folder picker

* feat: Modify condition for folder picker default

* refactor: add changes from code review

* refactor: add changes from code review

* feat: add plural to translation, add styling

* feat: run i18n extraction
2024-08-20 10:08:18 +03:00
Ihor Yeromin
5233e4b47f Stat: Fix double-zero percent render (#91848)
fix(stat): percent zero case
2024-08-20 04:25:15 +03:00
Pepe Cano
a0e1028ae6 Alerting docs: include Grafana Alerting API as one option to manage… (#91593)
Alerting docs: include `Grafana Alerting API` as one option to manage Data sources-mangaged resources
2024-08-20 00:03:07 +02:00
owensmallwood
1cb3470e3e Unified Storage: Wrapping the mysql driver with hooks causes issues (#92099)
dont wrap the mysql driver with hooks. Its causing the error 'begin tx: sql: driver does not support non-default isolation level'.
2024-08-19 15:09:25 -06:00
Todd Treece
b97fb3bb78 Chore: Update storage and search feature toggle owners (#92098) 2024-08-19 16:57:00 -04:00
Alexander Weaver
ac5ebe6e4d Alerting: Add enablement flag for recording rules (#92032)
* Add enablement flag

* Disable if toggle not enabled
2024-08-19 12:01:00 -05:00
Dan Cech
9020eb4b17 Auth: Update oauthtoken service to use remote cache and server lock (#90572)
* update oauthtoken service to use remote cache and server lock

* remove token cache

* retry is lock is held by an in-flight refresh

* refactor token renewal to avoid race condition

* re-add refresh token expiry cache, but in SyncOauthTokenHook

* Add delta to the cache ttl

* Fix merge

* Change lockTimeConfig

* Always set the token from within the server lock

* Improvements

* early return when user is not authed by OAuth or refresh is disabled

* Allow more time for token refresh, tracing

* Retry on Mysql Deadlock error 1213

* Update pkg/services/authn/authnimpl/sync/oauth_token_sync.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Update pkg/services/authn/authnimpl/sync/oauth_token_sync.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Add settings for configuring min wait time between retries

* Add docs for the new setting

* Clean up

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

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

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-08-19 18:57:37 +02:00
Ashley Harrison
5ce9324801 fix nav border when bodyscrolling with sticky variables (#92087)
* fix nav border when bodyscrolling with sticky variables

* better fix
2024-08-19 18:59:46 +03:00
qiyang
950d5630a0 Docs: Update configure-prometheus-data-source.md (#92049)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-19 17:43:33 +03:00
Larissa Wandzura
7ff8b1e0e2 Docs: Create new landing page and Get started doc for Explore (#91602)
* started updates

* added descriptions

* changed some wording

* minor updates

* updates

* updates

* created new landing page, and the get started page

* finished creating landing page

* continued with restructure

* final edits

* updated the Explore landing page

* ran prettier

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* Update docs/sources/explore/get-started-with-explore.md

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

* updates based on Jack's feedback

* ran prettier a second time

* wording change on landing page

* removed uncommented section

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-19 09:30:51 -05:00
Tom Ratcliffe
e2a1d59a96 Alerting: Remove disable logic for name field on time intervals when using k8s API (#91885)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-08-19 14:53:12 +01:00
Torkel Ödegaard
43dba8c3f9 DashboardScene: Support bodyScrolling (#91888)
* Progress

* Fix dashboards pane

* almost working

* add hook to get scopesDashboardsScene state

* check whether it's enabled when considering opened state

* add height to container

* Update

* revert change

* Make it work when bodyScrolling is disabled

* Last tweaks

* Update scenes

* Updating

* Fix

* fix tests

* fix lint  issues

* fix lint  issues

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-19 15:42:45 +02:00
Seungyong Lee
7647c689f1 Docs: Revise Configure Prometheus documentation to align with Grafana v11.1 (#91852) 2024-08-19 12:17:10 +00:00
Ryan McKinley
65a7d8f023 Chore: Fix panic with golang 1.23 (#92055) 2024-08-19 13:31:01 +03:00
Juan Cabanas
a50b5564be ShareModal: shareView query param fix (#92020) 2024-08-19 07:28:54 -03:00
renovate[bot]
8d197387ed Update dependency @grafana/tsconfig to v2 (#92056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-19 13:13:33 +03:00
Laura Fernández
84e0aa1ccd RestoreDashboard: Avoid overwrite when saving dashboard triggers a 'name-exists' error (#91881) 2024-08-19 11:31:40 +02:00
Joey
41fc6ab89e Tempo: Update max options (#92050)
* Update max options

* Update limit
2024-08-19 10:26:55 +01:00
Ryan McKinley
9567275365 SQL: Add more legacy helpers (#92006) 2024-08-19 12:15:43 +03:00
Alexander Zobnin
87c4f2448c Zanzana: Use modular schema (#92001)
* Zanzana: Use modular schema

* Fix tests

* Add module transform tests
2024-08-19 11:10:51 +02:00
Ashley Harrison
dcdef1a02d TextPanel: Prevent panel crashing when interpolating variables results in empty content (#92019)
fix text panel crashing when interpolating variables results in empty content
2024-08-19 09:45:58 +01:00
Erik Sundell
134467fc4a Plugin Extensions: Introduce new registry for exposed components (#91748)
* refactor app plugin internals

* add base registry and exposed components registry

* refactor usePluginComponent hook

* change type name

* fix hook

* remove comments

* fix broken tests

* add more tests

* remove link and component related changes

* use right id format

* add title prop

* remove comments

* rename registry

* make exportedComponentsConfigs required

* fix broken test

* cleanup tests

* fix prop name

* remove capability related code

* rename exported to exposed

* refactor(extensions): make registry types generic

* Update public/app/features/plugins/extensions/registry/ExportedComponentsRegistry.test.ts

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

* fix levitate error

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-08-19 08:43:11 +02:00
Todd Treece
4a753dd2d5 Chore: Switch dev profiling address to 127.0.0.1:6000 (#91916) 2024-08-18 13:45:55 -04:00
Drew Slobodnjak
d3c6e2b203 Table: Avoid rtl when using datalinks with units (#92038) 2024-08-16 15:42:20 -07:00
Jeff Levin
028e8ac59e Instrument tracing across accesscontrol (#91864)
Instrument tracing across accesscontrol 

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-08-16 14:08:19 -08:00
Brendan O'Handley
68f545210d Prometheus: Fix label names select component when there are too many options (#92026)
* add more doc info for truncate function and how we use it

* truncate label names and allow users to search all labels on typing

* remove unused import

* handle labels select in variable query in addition with truncated list
2024-08-16 13:55:03 -05:00
Todd Treece
def8104e74 Aggregator: Prepare for new handlers (#92030) 2024-08-16 14:13:38 -04:00
Yuri Tseretyan
135f6571a9 Alerting: Update Time Interval service to support renaming of resources (#91856)
* add RenameTimeIntervalInNotificationSettings to storage
* update dependencies when the time interval is renamed
---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2024-08-16 20:55:03 +03:00
Drew Slobodnjak
3c5d799c8c BarChart: Prevent label clipping at top (#91990)
* BarChart: Prevent label clipping at top

* Fix const issue
2024-08-16 09:29:25 -07:00
Lu Shueh Chou
126169f3ca Alerting: Add LogicOr operation option (#89258)
---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-16 11:02:14 -04:00
Irene Rodriguez
62abaea8f5 Capitalized list items under "With Explore Metrics, you can:" (#91879)
capitalised list items under "With Explore Metrics, you can:"
2024-08-16 09:01:53 -05:00
Isabella Siu
6000d6a1ad ElasticSearch: Neaten up vars/consts (#91989)
ElasticSearch: neaten up vars/consts
2024-08-16 09:42:39 -04:00
Todd Treece
a12b372556 Plugins: Update missed ConversionHandler checks (#92011) 2024-08-16 16:10:32 +03:00
Joey
ca56f16615 Tempo: Improve performance of drop down in variable query editor (#92010)
Improve performance of drop down
2024-08-16 14:07:09 +01:00
Tobias Skarhed
b0031c0781 New Select: Set highlighted index to selected item on open (#91951)
* Set highlighted index on open

* Remove console log

* Use defaultHighLightedIndex
2024-08-16 14:47:39 +02:00
Ryan McKinley
f432a1713b SQLTemplate: Swap the IFace with the concrete struct (#92008) 2024-08-16 15:12:37 +03:00
Ashley Harrison
32a5651e96 Chore: Remove breakpoints SCSS (#91883)
remove breakpoints mixins
2024-08-16 12:38:26 +01:00
Ryan McKinley
d9cabe5e14 SQL: Add sql template test helper (#91953) 2024-08-16 14:36:56 +03:00
Ieva
ac72098248 RBAC: Update access action set toggle stage (#91976)
update access action set toggle stage
2024-08-16 13:57:09 +03:00
Andres Martinez Gotor
5bf6ffc315 Change plugin install config syntax (#91895) 2024-08-16 09:44:47 +02:00
Brendan O'Handley
f01263803a Prometheus: Add a limit for the series resource api in metrics browser (#91555)
* add a limit for the series resource api in metrics browser

* decouple serieslimit from options and only use in metrics browser

* add series limit input to metrics browser

* add warning

* add and fix tests

* add new param to jsdoc

* do not use the limit in other calls outside metrics browser

* update test

* trim limit

* fix tests, remove limit from non labels calls
2024-08-15 23:39:42 +03:00
Drew Slobodnjak
de0e6d0fce PanelInspect: Handle field type frame for csv export (#91983)
PanelInspect: Handle field type frame
2024-08-15 13:15:49 -07:00
Todd Treece
e60b0aef83 Plugins: Add support for ResourceConversion (#91977) 2024-08-15 16:02:21 -04:00
owensmallwood
28f2a4078d Unified Storage: Records grafana database metrics (#91932)
* records grafana database metrics for unified storage

* update type to tracing.Tracer

* use nil for tracer in tests
2024-08-15 11:13:36 -06:00
Lucy Chen
d8ae905758 Change Public Dashboard text in Enterprise Users section (#91816)
* update text

* update tooltip

* add conditionals

* add conditions

* add conditionals

* fix conditionals
2024-08-15 13:09:01 -04:00
Matias Chomicki
4751bf915a Loki: Higlight search words in queries when using template variables (#91949)
* backendResultTransformer: use templateSrv to highlight search words from variables

* Add unit tests

* Formatting

* Fix import issues

* Update public/app/plugins/datasource/loki/backendResultTransformer.ts

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

* Refactor: use executedQueryString to get the interpolated query

* Remove unused imports

* Update public/app/plugins/datasource/loki/backendResultTransformer.test.ts

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

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-08-15 19:20:48 +03:00
Kristin Laemmert
c6ae2d7999 chore: add replDB to team service (#91799) 2024-08-15 12:19:38 -04:00
Fayzal Ghantiwala
e321dbb690 Alerting: Use remote Alertmanager to test templates and receivers when enabled (#91570)
* Initial impl

* Add code to test templates and receivers

* Fix linter

* Fix forked am tests

* Update mimir client

* Remove trailing whitespace

* re-trigger CI
2024-08-15 16:56:14 +01:00
Matthias Loibl
fbc195549f Parca: Update supported version to v0.19+ (#89826)
* pkg/tsdb/parca: Upgrade to using the flamegraph arrow

* pkg/tsdb/parca: Delete code for old flamegraphs

* pkg/tsdb/parca: Fix golangci-lint error in test

* pkg/tsdb/parca: Handle errors nicely

* docs/sources/datasource: Add Parca v0.19+ support note

* pkg/tsdb/parca: Don't use arrow table reader

As pointed out during reviews, it's not really needed and we can read the record directly.
2024-08-15 17:31:03 +02:00
Abdessamad Enabih
530355d5db Profile: Add tooltip to revoke session button (#91858)
* A11y: Buttons in profile/sessions do not provide tooltips

* Adressing PR comment for #91858
2024-08-15 18:24:38 +03:00
Matias Chomicki
40c6f741c0 Logs: Show older logs button when infinite scroll is enabled and sort order is descending (#91060)
* LogsNavigation: show older logs button when the order is descending

* LogsNavigation: adjust styles for showing only older logs button

* Logs Navigation: revert changes

* Infinite scroll: add older logs button

* Older logs button: show only in explore

* chore: add unit test

* Formatting

* Update public/app/features/logs/components/InfiniteScroll.test.tsx

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

* Chore: add missing translation

* Chore: move the button a tiny bit

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-08-15 18:17:47 +03:00
Santiago
f852bf684a Alerting: Fix duplicated silences in remote primary mode bug (#91902)
* Alerting: Fix duplicated silences in remote primary mode bug

* test that a new silence id returned by calling CreateSilence() on the internal Alertmanager is ignored
2024-08-15 17:14:55 +02:00
Kyle Cunningham
f14fd5828a Table panel: Improve cell inspector (#91862)
* Improve cell inspector

* Update types

* Prettier

* Type checking fixes
2024-08-15 22:04:36 +07:00
Alexander Zobnin
aaf33c7923 Zanzana: Migrate basic, fixed and custom roles (#91814)
* Zanzana: Migrate basic roles permissions

* add basic roles assignments

* refactor

* Sync basic roles permissions in all orgs

* migrate fixed roles

* map root folders to orgs

* fix basic role assignments in orgs

* migrate other roles

* migrate team roles assignments

* add notes about authorization schema

* don't migrate fixed roles
2024-08-15 16:13:27 +02:00
Kat Yang
4b0e8653f2 Refactor: Consolidate code for query generator (#91415)
* Refactor: Consolidate code for query generator

* Update public/app/features/trails/AutomaticMetricQueries/query-generators/default.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* fix: rename index.ts to getQueryGeneratorFor.ts to avoid barrel files

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-08-15 09:50:56 -04:00
Yuri Tseretyan
5834981f86 Alerting: Add GetTemplate to template service and update tests (#91854)
* add GetTemplate to template service
* refactor GetTemplates to fetch all provenances at once
* refactor tests
2024-08-15 09:17:48 -04:00
Mehrshad Lotfi
868f9320e9 CI: Fix missing vendor dependencies (#91872)
* Add missing dependency to Dockerfile

Add aggregator dependency to Dockerfile, fix the issue #91871.

* Add defaults.ini to Dockerfile, add bash for alpine
2024-08-15 09:02:15 -04:00
Joao Silva
42efb14989 Bookmarks: Move building logic to the Frontend (#91849) 2024-08-15 13:35:20 +01:00
Mihai Doarna
d6e793b31e SSO: Add server discovery URL on Generic OAuth config (#91047)
* add OpenID metadata URL field

* add i18n generated content

* configure server discovery URL in a modal

* remove getValues

* address feedback

* update field name to OpenID Connect Discovery URL

* add well-known suffix to the URL provided

* address feedback

* add isLoading state to ServerDiscoveryField
2024-08-15 15:00:25 +03:00
Ryan McKinley
a0cd89860e Identity: Add endpoint to get display info for an identifier (#91828) 2024-08-15 14:38:43 +03:00
Alexander Akhmetov
c7fdf8ce70 Alerting: Add error to annotations on data source errors (#91594) 2024-08-15 12:34:50 +02:00
Karl Persson
5105fb7f3a Identity: remove GetIDClaims (#91901)
remove GetIDClaims
2024-08-15 11:39:13 +02:00
Ashley Harrison
2ac247be88 Navigation: Fix scope dashboards selector with bodyScrolling (#91892)
* almost working

* add hook to get scopesDashboardsScene state

* check whether it's enabled when considering opened state

* add height to container
2024-08-15 09:58:26 +01:00
Todd Treece
d6ce6aaf44 Aggregation: Support apidiscovery.k8s.io/v2 (#91938) 2024-08-15 04:39:53 -04:00
grafana-delivery-bot[bot]
675a58b680 Release: Bump version to 11.3.0-pre (#91863)
* bump version 11.3.0-pre

* fix linters with: yarn run prettier:write

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-08-14 18:34:14 -03:00
Adela Almasan
f6b55ced6f Canvas: Remove null data links (#91859) 2024-08-14 23:58:39 +03:00
grafana-delivery-bot[bot]
38957b32ab Release: update changelog for 11.1.4 (#91930)
* Update changelog

* fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-08-14 17:12:21 -03:00
Juan Cabanas
07500e11be ShareExternally: Rename public dashboard section (#91928) 2024-08-14 17:03:19 -03:00
Alexander Weaver
34ab5fe1f3 Alerting: Restart rule routines if the type changes (#90867)
* Restart when types change

* Wire up test hooks correctly

* testing
2024-08-14 14:57:47 -05:00
Todd Treece
f158d52ae4 Aggregator: Rename DataServiceType to QueryServiceType (#91929) 2024-08-14 22:28:57 +03:00
Kyle Cunningham
40144eb3c8 Table: Fix edge case where text wrapping crashes on undefined header widths (#91850)
Make sure we don't read from header groups if it's undefined
2024-08-15 01:49:28 +07:00
grafana-delivery-bot[bot]
8c4da28d7c Release: update changelog for 11.0.3 (#91923)
* Update changelog

* fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-08-14 15:47:21 -03:00
Isabel Matwawana
3087eae71d Docs: Add max logo size (#91800) 2024-08-14 13:53:09 -04:00
grafana-delivery-bot[bot]
648005e0bb Release: update changelog for 10.4.7 (#91908)
* Update changelog

* fix changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
2024-08-14 14:47:57 -03:00
Pepe Cano
98a74d844e Add grafana_state_reason section in State of alerts (#91562)
* Add `grafana_state_reason` section in State of alerts

* Minor edit for clarification

* Mention `Paused/RuleDeleted/Updated` states
2024-08-14 19:22:55 +02:00
Juan Cabanas
8a97143120 ShareDrawer: Share snapshot panel (#90678) 2024-08-14 13:15:47 -03:00
Kristina
7cc925d319 Query Library: Enable edit description (#90009)
* WIP

* Finish getting form to populate

* WIP API

* Get PUT to work although the edit doesnt apply yet

* Complete working PUT

* PATCH v1 no json patch

* This works!

* Fix headers to be configurable

* Fix translations

* Revert "This works!"

This reverts commit d57ffcbc4b.

# Conflicts:
#	public/app/features/query-library/api/factory.ts
#	public/app/features/query-library/api/query.ts
#	public/app/features/query-library/types.ts

* Use normal method of patching 😅

* Replace add to library form with generic version

* make translations generic

* Rename function, fix bad conflict resolution
2024-08-14 10:11:53 -05:00
Todd Treece
da6b02a2b0 K8s: Add k8s codegen PR check (#91903) 2024-08-14 11:06:37 -04:00
Andres Martinez Gotor
44290ddf32 Adapt plugin page to preinstalled plugins (#91874) 2024-08-14 17:04:59 +02:00
Mihai Doarna
340af8cf6b Docs: Update SAML docs after making the certificate/private key optional (#91202)
* update SAML docs after changing the certificate/private key to be optional

* fix link with example of how to generate saml credentials

* revert link
2024-08-14 18:02:57 +03:00
Bogdan Matei
b0dd3fb1a1 Scopes: Add extra-check for fetching dashboards (#91896) 2024-08-14 18:00:09 +03:00
Karl Persson
e9bb3b4d73 Annotations: only set userID if caller is a user or service account (#91898)
* Ignore errors when extracting current user id

* Only set userID if caller is user or service account

* Fix patch api
2024-08-14 16:07:15 +02:00
Torkel Ödegaard
db5d8f03b7 Drawer: Fixes incorrect mask background and flickering (#91890) 2024-08-14 16:04:35 +02:00
Juan Cabanas
b569c1610f ShareDrawer: Share embed panel (#90994) 2024-08-14 10:49:10 -03:00
Andres Martinez Gotor
55381a3e77 Add check for update/uninstall of plugins (#91889) 2024-08-14 14:57:37 +02:00
Ieva
134b9f731f RBAC: Hide root level folder creation button if the user doesn't have the right permissions (#91502)
* hide root level folder creation button if the user doesn't have the right permissions

* linting
2024-08-14 11:53:03 +01:00
Karl Persson
8d36111420 IDForwarding: Set identity type and uid (#91830)
* Set identity type and uid

* Set uid without prefix

* Update authlib version

* Update to new claim name
2024-08-14 10:51:44 +02:00
Yulia Shanyrova
d1b0e70f8d Plugins: Remove cards and list display options functionality from plugin catalogue (#91840)
* remove displayMode functionality from plugin catalogue

* remove test for removed functionality

* fix linting
2024-08-14 10:24:10 +02:00
Ryan McKinley
427dad26a2 Swagger: Add a custom swagger/api page (#91785)
Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2024-08-14 09:03:00 +03:00
Todd Treece
dacf11b048 K8s: Fix hack/update-codegen (#91867) 2024-08-14 08:17:05 +03:00
David Allen
e90b272299 docs: add play link to explore metrics to demonstrate (#91744) 2024-08-13 16:16:50 -05:00
Todd Treece
1b0e6b5c09 K8s: Data Plane Aggregator (#91228) 2024-08-13 22:28:17 +03:00
Todd Treece
4ce82d3f14 Chore: Update k8s.io dependencies to v0.30.0 (#91851) 2024-08-13 14:01:48 -04:00
Matias Chomicki
699ff406c3 Logs panel: Enable displayedFields in dashboards and apps (#91810)
* LogsPanelCfg: add displayedFields

* LogsPanel: expose displayedFields

* Chore: add docs

* LogsPanel: add callbacks to external API

* LogsPanel: expose field callbacks and add default implementation

* chore: add unit test

* chore: unfocus test

* LogsPanel: add docs for new props

* Enable by default
2024-08-13 18:58:15 +03:00
Gilles De Mey
0a2db346ab Alerting: use new Alertmanager update hooks for mute and active time intervals (#91404) 2024-08-13 17:38:40 +02:00
Yuri Tseretyan
7b919e3277 Alerting: MuteTimeService to support TimeInterval and MuteTimeInterval fields in Alertmanager config (#91500)
* update notification policy provisioing to consider time intervals
* change names of intervals to be in order
2024-08-13 11:37:21 -04:00
Leonor Oliveira
d52d04b6d8 Revert "Use dw dynamic config" (#91846)
Revert "Use dw dynamic config (#91222)"

This reverts commit 0258842f87.
2024-08-13 17:24:26 +02:00
Mihai Doarna
b4db8bb967 LDAP: Remove omitempty flag from json annotation (#91843)
* remove omitempty flag from json annotation

* fix unit test
2024-08-13 18:17:52 +03:00
Brendan O'Handley
e0b8a00e78 Prometheus: Histogram table format should keep le values as strings (#91662)
* remove le value parsing as numbers

* add tests
2024-08-13 10:06:53 -05:00
Yuri Tseretyan
db33df5041 Alerting: Template API to return errutil errors (#91821) 2024-08-13 10:59:19 -04:00
Andres Martinez Gotor
9067797eb4 Feature: Allow to install plugins through configuration (#91790) 2024-08-13 16:57:55 +02:00
Kim Nylander
b03a709500 [DOC] Update Tempo and Pyroscope data source doc (#91704)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-13 10:39:55 -04:00
Joey
d779dfb0a2 Tempo: Select performance improvements (#91732)
* Tempo select performance improvements

* Update type

* Tidy up and simplify

* Update tagValueOptions

* Update GroupBy options
2024-08-13 15:24:58 +01:00
Joey
d72846790e Tempo: Send the existing query with the request for a tags values (#90931)
* Send query with request

* Ensure number tag values are added to query correctly

* Update test

* Update test
2024-08-13 15:23:18 +01:00
Nathan Marrs
d817ee9b99 Docs: Add example to transpose transformation (#91823) 2024-08-13 10:22:56 -04:00
Bruno
90b44fdcbf Cloud migrations: GetSnapshotList only returns snapshots that belong to a session that exists (#91798)
* Cloud migrations: GetSnapshotList only returns snapshots that belong to a session that exists

* Cloud migrations: test GetSnapshotList

* add one more test case for GetSnapshotList

* fix test

* store encryption key for testing
2024-08-13 09:57:53 -03:00
Gilles De Mey
e9e5989549 Alerting: Introduce useProduceNewAlertmanagerConfiguration (#91623)
useProduceNewAlertmanagerConfiguration
2024-08-13 14:34:38 +02:00
Tom Ratcliffe
8136fbef1f Chore: Add capability for overriding local development behaviour using env vars (#85603) 2024-08-13 13:07:42 +01:00
Tom Ratcliffe
735954386f Alerting: Consolidate contact points dropdown and add filter in alert rules (#91690)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2024-08-13 12:56:13 +01:00
Alexander Akhmetov
149f02aebe Alerting: Add rule_group label to grafana_alerting_rule_group_rules metric (#88289)
* Alerting: Add rule_group label to grafana_alerting_rule_group_rules metric (#62361)

* Alerting: Delete rule group metrics when the rule group is deleted

This commit addresses the issue where the GroupRules metric (a GaugeVec)
keeps its value and is not deleted when an alert rule is removed from the rule registry.
Previously, when an alert rule with orgID=1 was active, the metric was:

  grafana_alerting_rule_group_rules{org="1",state="active"} 1

However, after deleting this rule, subsequent calls to updateRulesMetrics
did not update the gauge value, causing the metric to incorrectly remain at 1.

The fix ensures that when updateRulesMetrics is called it
also deletes the group rule metrics with the corresponding label values if needed.
2024-08-13 13:27:23 +02:00
antonio
71b56dbb95 alerting tutorial: improve visibility of part 2 (#91795)
* alerting tutorial: improve visibility of part 2

* changed wording

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

Co-authored-by: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>

* applied suggestions

* fixed admon

* all pretty no pity

---------

Co-authored-by: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com>
2024-08-13 11:06:51 +00:00
Jeff Levin
8961f392f0 add team_member index on user_id org_id (#91819)
This pr adds a composite index on on the team_member table on user_id and org_id
2024-08-13 13:58:00 +03:00
Alexander Akhmetov
b2eeb0dd6e Alerting: update rule versions on folder move (#88376)
* Alerting: update rule versions on folder move (#88361)
* Add tracing to folder.Move and folder.Update
2024-08-13 12:26:26 +02:00
Yulia Shanyrova
8044cb50f1 Plugins: Plugin details right panel is added. All the details were moved from thee top to the right panel (#90325)
* PluginDetailsRight panel is added. All the details were moved from the top to the right panel

* Add feature toggle pluginsDetailsRightPanel,Fix build, fix review comments

* Fix the typo

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* hasAccessToExplore

* changes after review, add translations

* fix betterer

* fix betterer

* fix css error

* fix betterer

* fix translation labels, fix position of the right panel

* fix the build

* add condition to show updatedAt for plugin details

* add test to check 2 new fields at plugin details right panel;

* change the gap and remove report abuse button from core plugins

* add more tests

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-08-13 11:55:30 +02:00
David Harris
bac68069e0 chore: update issue template codeowners (#90925)
Adds myself as an additional codeowner for issue templates given the current reliance on ordering for links to request a new plugin from Grafana. 

This may be a temporary solution prior to being able to raise the requests natively within Grafana.
2024-08-13 09:57:51 +01:00
Ana Ivanov
8467838bef Navigation: Remove grafana-aws-app from Infrastructure navigation (#91524)
Remove grafana-aws-app from Infrastructure navigation
2024-08-13 11:54:30 +03:00
Karl Persson
8bcd9c2594 Identity: Remove typed id (#91801)
* Refactor identity struct to store type in separate field

* Update ResolveIdentity to take string representation of typedID

* Add IsIdentityType to requester interface

* Use IsIdentityType from interface

* Remove usage of TypedID

* Remote typedID struct

* fix GetInternalID
2024-08-13 10:18:28 +02:00
Leonor Oliveira
0258842f87 Use dw dynamic config (#91222)
* Remove kubernetesPlaylists feature_toggle

* Remove unified_storage_mode

* Remove double import

* Regenerate feature-toggles

* Read from config instead from feature_toggle

* cover scenario for when unified storage is not defined
2024-08-13 10:03:28 +02:00
Konrad Lalik
b67bcdb9b8 Alerting: Handle namespace and group query string params in Ruler API (#91533)
* Handle namespace and group query string params in Ruler API

* Use the new namespace and group query params when slashes in names

* Add validation, add group handling in GMA Api

* Move constants

* Use checkForPathSeparator function

* Fix linter issue
2024-08-13 08:31:07 +02:00
Sam Jewell
d54fdba322 Bump to go-duck v0.1.0 (#91794)
* Bump to go-duck v0.1.0

This fixed ordering of the columns

**What is this feature, why do we need it?**

See https://github.com/scottlepp/go-duck/pull/14 for a description of the improvement we're including here

**Who is this feature for?**

Anyone who uses SQL Expressions. This is still an experimental feature, and only used by a very small number of instances.

* Run `make update-workspace`
2024-08-12 16:00:10 -04:00
owensmallwood
8fb334cf77 Unified Storage: Adds back readme to resource store (#91812)
adds back readme to resource store
2024-08-12 13:48:14 -06:00
Isabel Matwawana
5e638b4af0 Docs: add playlist management permissions (#91146) 2024-08-12 10:53:02 -04:00
Andres Martinez Gotor
d342e76f63 Chore: Add skeleton for background plugin installer (#91743) 2024-08-12 16:39:31 +02:00
Fayzal Ghantiwala
25dbb32cea Alerting: Vendor in latest grafana/alerting package (#91786)
* temp

* vendor

* Remove dead code

* Vendoring
2024-08-12 15:37:15 +01:00
Erik Sundell
2ed6ca360f Extensions: e2e test usePluginComponent hook (#91750)
* add simple test apps that use usePluginComponent hook and exposeComponent api

* add e2e test

* update readme

* Update README.md

* fix lint issue

* pr feedback
2024-08-12 15:43:42 +02:00
Joao Silva
b9cece8f9e Bookmarks: Create Bookmarks landing page (#91538) 2024-08-12 14:31:01 +01:00
Joey
d00b4879d2 Tempo: Simplify span filters logic and fix regex for tag only search (#90819)
Simplify span filters logic and fix regex for tag only search
2024-08-12 14:15:06 +01:00
Joey
379249fc60 Tempo: Tidy up and organise (#90649)
* Move test files to folder

* Update paths

* Tidy up
2024-08-12 14:12:22 +01:00
Domas
6dce2ecbde Sparkline: Support spanNulls graph config prop (#91797)
support spanNulls config prop for sparkline
2024-08-12 15:36:52 +03:00
Vijay Samuel
c9ddc688a2 Prometheus: Add support to make parallel queries (#90316)
* Add support for prometheus datasource to make parallel queries

* Incorporate review comments

* Update pkg/promlib/querydata/request.go

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Fix lint

* Add parallel queries behind feature flag

* Fixing lint issue

* Update go.mod

* Update pkg/promlib/querydata/request.go

* Update pkg/promlib/querydata/request.go

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Charandas <542168+charandas@users.noreply.github.com>
2024-08-12 14:31:39 +02:00
Ashley Harrison
369cd6f81e Chore: Migrate dashboard_grid styles to emotion (#91673)
migrate dashboard grid styles to emotion
2024-08-12 13:22:14 +01:00
grafana-pr-automation[bot]
32e4ea3b3c I18n: Download translations from Crowdin (#91796)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-12 15:21:20 +03:00
Ashley Harrison
dface46474 Chore: Migrate gf-form classes to emotion globals (#91632)
* migrate gf-form classes to emotion globals

* should be sm due to the different way the breakpoints work
2024-08-12 13:16:16 +01:00
Ashley Harrison
78f78753c7 Chore: Migrate Modal SCSS styles to emotion (#91569)
migrate modal scss styles to emotion
2024-08-12 12:55:22 +01:00
Gilles De Mey
add99fb3d0 Alerting: Add basic support for active_time_intervals (#91710) 2024-08-12 14:51:12 +03:00
Santiago
5487ea444a Alerting: Update remote Alertmanager config marshalling in test (#91791) 2024-08-12 13:45:22 +02:00
Gilles De Mey
f11d6ebcd0 Alerting: Update contact points list and mute timings list on update (#91776)
make sure that contact points list and mute timings list are updated when we update the alertmanager configuration
2024-08-12 13:37:17 +02:00
Bogdan Matei
3303900c09 Scopes: Lift scopes at global level (#90136) 2024-08-12 14:11:50 +03:00
Gilles De Mey
15f2b08f00 Alerting: Catch alert rule search exceptions (#91788)
catch search exceptions and prevent from bubbling
2024-08-12 12:13:26 +02:00
Andreas Christou
82d051f336 AzureMonitor: Mark Azure Prometheus exemplars as public preview (#91674)
Mark Azure Prom exemplars as public preview
2024-08-12 11:11:45 +01:00
Ieva
6e7bc028d0 RBCA: Better separation between action set svc and store (#91491)
better separation between action set svc and store
2024-08-12 10:07:33 +01:00
Ieva
5bae9f11bc Docs: Add docs for bulk updating team members (#91499)
add docs for bulk updating team members
2024-08-12 09:58:55 +01:00
Ashley Harrison
ab3e8652aa Adhoc Filters: add new feature toggle for 'one of' operator (#91688)
add new feature toggle for 'one of'
2024-08-12 09:56:42 +01:00
Karl Persson
7f1ae1cd54 Identity: Update authlib to version that has correct commit to claims (#91784)
* Update authlib to version that has correct commit to claims
2024-08-12 09:39:48 +02:00
Ryan McKinley
e106df6d0b Auth: Update unified storage to depend on AuthInfo rather than Requester (#91783)
depend on authlib user info
2024-08-12 09:49:34 +03:00
Ryan McKinley
21d4a4f49e Auth: use IdentityType from authlib (#91763) 2024-08-12 09:26:53 +03:00
ismail simsek
faf7cb9312 Chore: Refactor explore metrics layout switcher and breakdown scene (#90944)
* refactor breakdown scene

* refactor BreakdownScene along with LayoutSwitcher

* rename

* don't pass default layout

* better type handling

* betterer
2024-08-11 23:48:36 +02:00
ismail simsek
b8ebc5d463 Chore: Update lezer package of prometheus frontend (#91252)
* update lezer package

* Use UnquotedLabelMatcher instead of LabelMatcher

* Use UnquotedLabelMatcher instead of LabelMatcher in parsing.ts
2024-08-11 23:48:04 +02:00
Todd Treece
75f0b3a228 K8s: Test for changes to aggregator's postStartHooks (#91771) 2024-08-10 20:32:57 -04:00
Jmdane
8bb548e17b Transformations: Add 'transpose' transform (#88963)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-08-10 02:57:26 +03:00
Taewoo K.
ec7a247674 feat: Add atlassian statuspage (#91769)
* add atlassian statuspage

* fix test
2024-08-10 01:48:31 +03:00
Todd Treece
5972dd0b59 Chore: Update names of DisabledPostStartHooks (#91767) 2024-08-09 16:57:08 -04:00
Mitch Seaman
8525943699 Docs: add Zoom to Reporting docs (#90219)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-09 16:28:39 -04:00
Todd Treece
30c3f5b66a Chore: Revert drone go workspace change to tests (#91762) 2024-08-09 21:03:26 +03:00
Andreas Christou
24c9aad5bb Bump grafana-azure-sdk-go and related dependencies (#91124)
* Bump Azure SDK and related dependencies

* Update go.mods

* update-workspace

* Update go files
2024-08-09 13:12:19 -04:00
Andreas Christou
ee18c64453 OpenTSDB: Fix test (#91761)
Fix test
2024-08-09 19:53:04 +03:00
Ryan McKinley
243c0935fc Auth: Use claims.AuthInfo in requester (#91739) 2024-08-09 19:46:56 +03:00
Andreas Christou
d52626be3f AzureMonitor: Add authproxy as supported user auth method (#91754)
Add authproxy as supported user auth method
2024-08-09 17:18:46 +01:00
Andreas Christou
06509712ec OpenTSDB: Fix data frame construction (#90991)
* Update type and frame construction

* Update tests

* Keep dataField name as value
2024-08-09 17:16:29 +01:00
Yuri Tseretyan
1108a00668 Alerting: Support for optimistic concurrency in priovisioning Tempate API (#91195)
* support optimistic concurrency in template service

* update request handler to get version from query parameter

* return not found if a new template is set with version

* update PUT api to set version

* update documentation + for mute timings

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-09 11:40:07 -04:00
Isabel Matwawana
d20510a1db Docs: added pagination information for state timeline (#91749) 2024-08-09 11:32:16 -04:00
Agni Bhattacharyya
be32630de5 Auth: Skip email extraction when api url is not present (#91699)
* Auth: Skip email extraction when api url is not present

* fix lint: reduce cyclomatic complexity
2024-08-09 18:20:54 +03:00
Karl Persson
bcfb66b416 Identity: remove GetTypedID (#91745) 2024-08-09 18:20:24 +03:00
Todd Treece
6061fdc8b9 Chore: Fix requires_buildifier typo (#91747) 2024-08-09 11:00:05 -04:00
Michael Mandrus
eee3a75b8b CloudMigrations: Misc cleanup before codefreeze (#91725)
* fix retry logic

* slight adjustments

* fix disconnect and connect events

* Update pkg/services/cloudmigration/cloudmigrationimpl/snapshot_mgmt.go

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

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2024-08-09 17:38:08 +03:00
Todd Treece
13703de67e Chore: Update tests to use go-workspace script (#91746) 2024-08-09 10:25:27 -04:00
Todd Treece
27545e3da4 Chore: Use golanglint-ci-includes script in Makefile (#91742) 2024-08-09 10:05:02 -04:00
lean.dev
e20c7342a9 CloudMigration: Removes snapshot and resources when deleting a session (#91548) 2024-08-09 16:42:45 +03:00
Alexander Zobnin
1cc438a56c Zanzana: Evaluate dashboard and folder permissions (#91539)
* Zanzana: basic folder permissions checks

* Fix managed permissions for teams

* fix sync batch size

* add dashboards actions translations

* migrate folder tree

* migrate dashboard folders

* remove action sets from schema

* Adding more dashboard and folder-related permissions

* refactor

* Correctly translate dashboard permissions in folders

* fix dashboard parent permissions
2024-08-09 13:48:56 +02:00
Ivan Ortega Alba
423d198d77 Scenes: Upgrade to v5.7.4 (#91741) 2024-08-09 14:27:08 +03:00
grafana-pr-automation[bot]
0077dd09ae I18n: Download translations from Crowdin (#91737)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-09 13:19:40 +03:00
Todd Treece
122e291134 Chore: Add dataplaneAggregator feature toggle (#91715) 2024-08-09 04:41:07 -04:00
Todd Treece
c5c206d8a6 Semconv: Add k8s.dataplaneservice.name (#91714) 2024-08-09 04:39:37 -04:00
Kevin Putera
01fc31069f StateTimeline: Add pagination support (#89586)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-08-08 21:44:17 -05:00
Todd Treece
970a6e71ba Chore: Fix go workspace update script (#91720) 2024-08-09 02:39:02 +03:00
Alexander Akhmetov
f4d2e064f4 Fix links to the What's new page in the PR template (#91672) 2024-08-08 23:32:37 +02:00
Todd Treece
7f155b2b6f Chore: Add go workspace scripts (#91707) 2024-08-08 16:51:17 -04:00
Kristin Laemmert
54177ca619 experiment: use read replica for Get and Find Dashboards (#91706) 2024-08-08 14:22:55 -04:00
Todd Treece
f463d622d0 Chore: Remove depguard rule skip in apiserver (#91705) 2024-08-08 21:11:13 +03:00
Kristin Laemmert
299c142f6a QuotaService: refactor to use ReplDB for Get queries (#91333)
* Feature (quota service): Use ReplDB for quota service Gets

This adds the replDB to the quota service, as well as some more test helper functions to simplify updating tests. My intent is that the helper functions can be removed when this is fully rolled out (or not) and we're consistently using the ReplDB interface (or not!)

* test updates
2024-08-08 13:41:33 -04:00
Nathan Marrs
787abccfbc Canvas: Fix selection box glitch when adding certain elements (#91654)
* fix selecto glitch when adding certain elements

* minor doc updates
2024-08-08 09:42:24 -07:00
Todd Treece
b4126d3bce Chore: Update k8s.io dependencies (#91692) 2024-08-08 18:39:44 +03:00
Jack Baldry
d1deef29ff Move Explore Metrics to a directory for mounting (#91696) 2024-08-08 16:00:38 +01:00
Adela Almasan
9001b2e0ee Datalinks: UX update (#91657) 2024-08-08 09:17:09 -05:00
Mihai Doarna
925fd26d14 LDAP: Update ldap config comments with TLS info (#91636)
update ldap config comments with TLS info
2024-08-08 17:01:22 +03:00
Andriy
08d9cb095a feat: add drone datasource to the plugins list (#91671) 2024-08-08 16:44:22 +03:00
Tim Mulqueen
f3769d1ab0 add netlify to plugin list (#91684)
* add netlify to plugin list

* Update public/app/features/datasources/state/buildCategories.ts

Co-authored-by: Andriy <andriy.urbanas@grafana.com>

---------

Co-authored-by: Andriy <andriy.urbanas@grafana.com>
2024-08-08 15:25:53 +02:00
Mihai Doarna
37f198d5e8 LDAP: Add guide on how to configure LDAP with TLS (#91686)
add guide on how to configure LDAP with TLS
2024-08-08 15:29:00 +03:00
Alexander Zobnin
0e5d7633f7 Access Control: Make it possible to exclude role grants (#91647) 2024-08-08 14:11:17 +02:00
Staton Hysell
89ee970ec3 Chore: Correct viz title casing to sentence casing (#91638)
* Update module.tsx

Corrected the options: Render Count, Data Changed Count, and Schema Changed Count to have the correct sentence casing to match the rest of the product

* Live viz update

Correct type case error on "Show Message" to "Show message"

* Trend viz case correction

Corrected case of Trend viz from "X Axis" and "X Field" to "X axis" and "X field"
2024-08-08 08:04:42 -04:00
grafana-pr-automation[bot]
e2a3f78504 I18n: Download translations from Crowdin (#91677)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-08 13:33:56 +03:00
Josh Hunt
83d8fde5be E2C: Post success toast when migration finishes (#91640) 2024-08-08 11:18:37 +01:00
renovate[bot]
2a67367777 Update dependency type-fest to v4.23.0 (#91675)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 13:03:30 +03:00
renovate[bot]
ebc7355284 Update dependency eslint-plugin-jest to v28.8.0 (#91668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 10:33:43 +01:00
Hugo Kiyodi Oshiro
bf24454007 Plugins: Fix levitate detailed report and improve error treatment (#91617) 2024-08-08 11:20:58 +02:00
renovate[bot]
875fdb18b4 Update dependency knip to v5.27.2 2024-08-08 09:13:58 +00:00
renovate[bot]
1150ab5377 Update dependency ts-jest to v29.2.4 (#91644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 11:25:45 +03:00
Ashley Harrison
1bca86c8d5 E2C: use TextLink component for consistency (#91642)
use TextLink component for consistency
2024-08-08 09:10:20 +01:00
Jo
8ddc0344d0 Docs: Add warning on UUIDs not being available before 10.2.0 (#91372)
* add warning on UUIDs not being available before 10.2.0

* Update docs/sources/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/index.md

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

* Update docs/sources/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/index.md

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-08 09:19:27 +02:00
Borja Garrido
a083ec9ff5 Transformations: Add variable support to select groupingToMatrix (#88551) 2024-08-08 05:59:03 +03:00
Beto Muniz
a8b2a75dab GOps: Setup FullStory in the IRM configuration tracker (#90442)
* GOps: Setup support FullStory in the IRM configuration tracker

* fix: improve fs-unmask class application

* fix: remove extrtag as requested in PR review

* fix: revert extratag removed since it affects UI alignment

* fix: wrap text with trans component as betterer ask

* fix: update extraction
2024-08-07 18:08:13 -03:00
renovate[bot]
5917e1c6d6 Update dependency stylelint to v16.8.1 (#91641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 19:31:19 +03:00
renovate[bot]
b78856596e Update dependency react-zoom-pan-pinch to v3.6.1 (#91639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 19:10:05 +03:00
Gilles De Mey
d312e2aacf Alerting: Swap useAsync return signature params (#91634) 2024-08-07 17:58:07 +02:00
renovate[bot]
9cfcc16d1a Update dependency eslint-plugin-jest to v28.7.0 (#91637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 16:48:32 +01:00
renovate[bot]
d5848384f8 Update dependency core-js to v3.38.0 (#91633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 16:11:22 +01:00
renovate[bot]
4d24b124f7 Update dependency @playwright/test to v1.46.0 (#91625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 15:15:01 +01:00
Nathan Vērzemnieks
f19a0ce452 Cloudwatch: Clear cached PDC transport when PDC is disabled (#91357)
Cloudwatch: clear cached PDC transport when PDC is disabled
2024-08-07 16:11:56 +02:00
Joey Orlando
cb540a28bd Plugins: add IRM plugin to "Alerts & IRM" left-hand navigation group (#91423)
add IRM plugin to "Alerts & IRM" left-hand navigation group
2024-08-07 09:44:43 -04:00
Señor Performo - Leandro Melendez
886985bdba docs: added missing panel options to node graph docs (#91511)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-08-07 09:43:01 -04:00
renovate[bot]
f0d0fa901a Update dependency @floating-ui/react to v0.26.22 (#91622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 14:05:58 +01:00
renovate[bot]
7ccf79aa62 Update dependency marked-mangle to v1.1.9 2024-08-07 12:37:07 +00:00
Kristin Laemmert
a117b090cf chore: preallocate slices where we have a good idea of requirements (#91596)
* chore: preallocate slices where we have a good idea of requirements

* pr feedback
2024-08-07 08:34:52 -04:00
renovate[bot]
9b652612bd Update dependency knip to v5.27.1 2024-08-07 11:45:17 +00:00
renovate[bot]
f384759ad1 Update dependency @types/yargs to v17.0.33 2024-08-07 11:19:34 +00:00
renovate[bot]
a33d122485 Update Yarn to v4.4.0 (#91595)
* Update Yarn to v4.4.0

* add new yarn version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-07 12:48:56 +02:00
Ryan McKinley
9e116d13a5 K8s/Dashboards: Fix dashboard list and add tests (#91523) 2024-08-07 13:43:13 +03:00
Ashley Harrison
e8d5d5fbff Storybook: Fix Input story (#91564)
fix type + prefix/suffix
2024-08-07 11:05:20 +01:00
Tom Ratcliffe
3ec2084c23 Alerting: Remove all but one usage of TestProvider within test code (#91542) 2024-08-07 10:58:58 +01:00
Konrad Lalik
9c5a91009b Alerting: Add useNotificationTemplates hook to abstract away templates loading (#91468)
* Add useNotificationTemplates hook to abstract away templates loading

* Add useUpdateNotificationTemplate hook to abstract away updating logic

* Add useDeleteNotificationTemplate hook to abstract away deletiong logic

* Fix and update templatestable tests

* Remove old code

* Improve error handling

* Remove obsolete test

* Fix and improve tests

* Adjust code style

* Update test snapshot, remove redirects in hooks

* Remove unused code, add provenance none handling, fix redirect url

* Improve provisioning state handling
2024-08-07 11:50:07 +02:00
Charandas
cf5e49dbb8 build: semconv recently got its own go.mod (#91560) 2024-08-06 16:39:21 -07:00
lean.dev
b5e32b31b1 Grafana: Enables use of encrypted certificates with password for https (#91418) 2024-08-06 19:18:32 -03:00
Leon Sorokin
1b6362a807 TimeSeries: Use original frames for creating data links (#91598) 2024-08-06 14:20:24 -05:00
Karl Persson
d93f5bab83 RemoteCache: remove count method (#91581)
* remove count method

* remove count from remote cache

---------

Co-authored-by: jguer <me@jguer.space>
2024-08-06 19:21:00 +02:00
Andre Pereira
d84fd94936 Tempo: Add migration to enable TraceQL streaming for Tempo datasources (#91340)
* Add migration to enable TraceQL streaming for Tempo datasources

* lint

* Always run migration but exit early if feature flag is disabled

* Require feature toggle OR datasource config to enable streaming
2024-08-06 18:09:06 +01:00
Kim Nylander
ce14d79064 [DOC] Add Streaming doc for Tempo data source (#91432)
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-08-06 18:00:16 +01:00
renovate[bot]
61434b245c Update dependency rudder-sdk-js to v2.48.15 2024-08-06 16:40:17 +00:00
Michael Mandrus
6cd0971dc6 CloudMigration: Show warning message for successfully migrated non-core data sources (#91545)
* minor performance improvement

* apply a warning to any non-core plugins that successfully migrate

* commit frontend wip while I refactor some stuff

* update api

* repurpose error dialog to be a generic details dialog

* whitespace

* add unit test

* fixes from testing

* fix migration summary

* add comment

* fix localization stuff

* fix backend test

* reduce number of queries to the db

* some PR feedback

* whitespace
2024-08-06 19:35:10 +03:00
Yuri Tseretyan
ee78bb653f Alerting: Log rule evaluation error in scheduler (#91585) 2024-08-06 19:27:02 +03:00
renovate[bot]
f4073e6b8e Update dependency postcss to v8.4.41 2024-08-06 16:19:35 +00:00
Michael Mandrus
14c2e4631a CloudMigrations: Update preview banner text (#91561)
* add link to docs page

* add link to docs

* a word
2024-08-06 19:16:43 +03:00
Adela Almasan
e91f16fc46 Datalinks: UX improvements (#91352) 2024-08-06 19:10:37 +03:00
renovate[bot]
9456535567 Update dependency lerna to v8.1.8 2024-08-06 15:54:50 +00:00
owensmallwood
2387798719 Unified Storage: Propagate traces from the apiserver grpc client (#91226) 2024-08-06 09:52:11 -06:00
renovate[bot]
133bb110dc Update dependency autoprefixer to v10.4.20 2024-08-06 14:41:55 +00:00
Tom Ratcliffe
2eae30aeff Alerting: Add jest-dom eslint recommended rules (#91576) 2024-08-06 15:39:46 +01:00
renovate[bot]
b7def88db6 Update dependency @msagl/parser to v1.1.20 2024-08-06 14:16:22 +00:00
renovate[bot]
e2fe649f7b Update dependency @msagl/core to v1.1.20 2024-08-06 13:37:40 +00:00
renovate[bot]
0dbfeb0c6e Update dependency @floating-ui/react to v0.26.21 (#91572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 15:28:05 +03:00
renovate[bot]
255a1f6ae4 Update dependency react-hook-form to v7.52.2 (#91482)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 13:06:02 +01:00
Tom Ratcliffe
2be2f8a214 Alerting: Tidy up k8s utilities/constants (#91571) 2024-08-06 14:57:43 +03:00
Tom Ratcliffe
b4a23e097a Alerting: Add types to react hook form usage register method (#91566) 2024-08-06 12:29:01 +01:00
Hugo Kiyodi Oshiro
0c4e02ba14 Plugins: Add filters by update available (#91526) 2024-08-06 12:16:49 +02:00
Ashley Harrison
2e3f48a49d Navigation: Fix browse dashboards/scenes dashboards when bodyScrolling is enabled (#91479)
set explicit height (not min-height) so everything works in safari
2024-08-06 09:51:31 +01:00
Will Browne
9300c1bbea Plugins: Update CLI check if plugin is already installed (#91213)
* check if plugin installed

* undo remove initial vers check

* still attempt deps
2024-08-06 09:21:40 +01:00
Ihor Yeromin
da291998cf Revert "Calcs: Update diff percent to be a percent" (#91563)
Revert "Calcs: Update diff percent to be a percent (#90533)"

This reverts commit 5e21898294.
2024-08-06 11:03:01 +03:00
Jeff Levin
d4916207a0 chore(tracing): add tracing for frontend and db session (#91509)
This PR adds instrumentation for loading frontend SPA along with select methods in the dashboard service, and cleans up span handling in sqlstore.

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-08-05 17:17:39 -08:00
Charandas
abbfc15563 K8s e2e tests: adds e2e package and 10 year certs (#91557) 2024-08-06 03:29:36 +03:00
Kristin Laemmert
b6de9e9d3c search v2: pre-allocate dashboardQueryResult slice capacity for performance (#91536)
* search v2: pre-allocate dashboardQueryResult slice for performance
* use limit parameter for starting slice size
2024-08-05 13:54:57 -04:00
Matthew Jacobson
53cfdf0ef8 Alerting: Remove option to return settings from api/v1/receivers and restrict provisioning action access (#90861)
* Remove provisioning action access to v1/receivers api

* Separate ListOnly functionality to its own method without decryption
2024-08-05 11:49:23 -04:00
Michael Mandrus
4d23382497 Caching: Handle memcached reconnects (#91498)
* update library version

* update tls memcached feature toggle

* update to latest version

* updae gomemcache version
2024-08-05 11:21:11 -04:00
Ihor
dc9dfb4c4b Typo fix in Templates documentation (#91348)
fix typo
2024-08-05 16:54:48 +02:00
Pepe Cano
114d87bf61 Alerting docs: Update Alerting provisioning HTTP API (#91493)
* Remove `Consumes` info

* Remove `top-level` content negotiation/Produces

* Remove `Version Information`

* Better distinguish between Grafana and Data source managed alerts

* Add note for Enterprise RBAC permissions

* Minor changes for clarity

* Add examples

* Minor copy change

* Update docs/sources/shared/alerts/alerting_provisioning.md

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

* Update docs/sources/shared/alerts/alerting_provisioning.md

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

* Update docs/sources/shared/alerts/alerting_provisioning.md

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-08-05 16:47:48 +02:00
Todd Treece
9a2c9647ee Chore: Add storage submodule to lint & test config (#91529) 2024-08-05 17:30:14 +03:00
AvivGuiser
93aa5a56ad Alerting: Use stable identifier of a group,contact point,mute timing when export to HCL (#90917)
---------

Signed-off-by: Aviv Guiser <avivguiser@gmail.com>
2024-08-05 09:56:17 -04:00
Tom Ratcliffe
338b318bf4 Alerting: Use alerting API server for contact points list (#91073) 2024-08-05 16:01:48 +03:00
Ryan McKinley
a223c46506 APIServer: Make TableConverter part of ResourceInfo (#91520) 2024-08-05 15:38:12 +03:00
Ryan McKinley
f885cc7d9c Chore: Update swagger ui (4.3.0 to 5.17.14) (#91219) 2024-08-05 14:59:24 +03:00
Tom Ratcliffe
734af2ea9f Alerting: Enable "dot-notation" rule (#91497) 2024-08-05 12:06:17 +01:00
Tom Ratcliffe
500ae2ff1e Alerting: Enable "prefer-const" rule (#91495) 2024-08-05 11:37:48 +03:00
Tom Ratcliffe
e771500487 Alerting: Enable "no-unused-props" rule (#91492) 2024-08-05 09:18:38 +01:00
Kim Nylander
647f162fe0 [DOC] Add canonical URL to Explore Metrtics (#91501) 2024-08-05 08:34:40 +01:00
brendamuir
e7a9a9c161 Alerting docs: fixes alt text errors (#91336) 2024-08-05 09:18:36 +02:00
Todd Treece
8c43b9ec2f Semconv: Change keys to private constants (#91508) 2024-08-02 16:13:00 -04:00
Matthew Jacobson
a397bca02e Alerting: Fix panic with nil annotations & Nodata=alerting/ok/keep (#91506) 2024-08-02 22:15:57 +03:00
Yuri Tseretyan
96f7f0f486 Alerting: Use Unstructured type for settings of K8s model Integration + code owners (#91430)
* remove nonnamespaced paths
* use common.Unstructed for Intergration.Settings
* update codeowners to include alerting
* fix json name of secure fields to start with lower case
2024-08-02 20:02:58 +03:00
Vardan Torosyan
1747cd1747 [Auth] Enable cloudRBACRoles feature toggle for self-serve (#91036)
Enable cloudRBACRoles feature toggle for self-serve
2024-08-02 16:47:00 +02:00
Alexander Weaver
72ecde5045 Alerting: Make orgID a direct arg of writer interface (#91422)
make orgID a direct arg of writer interface
2024-08-02 09:37:28 -05:00
Leonor Oliveira
6f6a06435d Remove unified_storage_mode reference in the grafana repo (#91481) 2024-08-02 15:40:05 +02:00
Josh Hunt
c070b39dae E2C: Add a 'supported types' disclosure to the bottom of the resources table (#91475) 2024-08-02 14:17:14 +01:00
Todd Treece
5376a2eb93 Chore: Add semconv package (#91408) 2024-08-02 08:35:18 -04:00
Alexa V
0145b0fe70 Dashboard: Chore - Remove rudderstack events from panel menu and toolbar (#91376)
* Chore: Remove rudderstack events from panel interactions, and toolbar in dashboards

- dashboards_panelheader_menu
- dashboards_panelheader_description_displayed
- dashboards_toolbar_actions_clicked

* Add back some toolbar events: sharing, settings, favourites, and add

* restore ShareButton
2024-08-02 13:30:47 +02:00
grafana-pr-automation[bot]
44ed331239 I18n: Download translations from Crowdin (#91474)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-02 11:47:03 +01:00
renovate[bot]
4de68e3774 Update dependency eslint-plugin-jsdoc to v48.11.0 (#91473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 12:44:01 +02:00
Josh Hunt
4fd014eae9 Chore: Update i18next parser to 9.0.1 (#91478) 2024-08-02 13:39:30 +03:00
renovate[bot]
670132ead8 Update dependency @types/node to v20.14.14 2024-08-02 09:56:04 +00:00
Josh Hunt
e55b438f14 E2C: Reduce UI poll interval and make configurable (#91386)
* E2C: Reduce UI poll interval and make configurable

* fix default
2024-08-02 10:46:41 +01:00
Josh Hunt
a89435aeab I18n: Require Trans i18nKey prop (#91399)
* I18n: Require Trans i18nKey prop

* fix lint errors
2024-08-02 10:46:27 +01:00
Claudiu Dragalina-Paraipan
e2435f92f1 [authn]: add GetIDClaims() to Requester (#91387)
* authn: add GetIDClaims() to Requester

Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

* authn: update StaticRequester

Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

* update auth/idtest/mock

Co-Authored-By: Gabriel MABILLE <gamab@users.noreply.github.com>

* Fix test

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-08-02 12:36:02 +03:00
renovate[bot]
a940bb87be Update dependency msw to v2.3.5 2024-08-02 09:32:44 +00:00
Tom Ratcliffe
1d96cd8ed9 Alerting: Use cloud notifier types for metadata on Cloud AMs (#91054) 2024-08-02 10:30:39 +01:00
Ashley Harrison
ce8f5b5e1a Navigation: Fix <Portal> when bodyScrolling is enabled (#91335)
fix portal when bodyScrolling is enabled
2024-08-02 10:29:51 +01:00
renovate[bot]
25b65d96c7 Update dependency browserslist to v4.23.3 2024-08-02 08:38:53 +00:00
renovate[bot]
7d06a17038 Update dependency @grafana/faro-web-tracing to v1.9.0 (#91406)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 09:16:10 +01:00
minuchi
d03aad8b2c Docs: Update subtitle in Loki datasource documentation to fix link issue (#91454) 2024-08-02 08:51:27 +01:00
Gabriel MABILLE
8988e04044 RBAC: Add permission registry (#91247)
* RBAC: Permission registry

* Populate permission registry

* Wire

* conflic_user_cmd

* Update pkg/services/accesscontrol/permreg/permreg_test.go

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

* PR feedback

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

* Remove ToDo, tackle in subsequent PR

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-08-02 09:32:06 +02:00
Ryan McKinley
391284bb33 Storage: Improve (some) error handling (#91373) 2024-08-02 10:27:10 +03:00
Nathan Marrs
b63694d75f XYChart: Promote to generally available (#91417) 2024-08-01 16:54:36 -07:00
Isabel Matwawana
21e40908fe Docs: time series overall edit (#91220)
Co-authored-by: Nathan Marrs  <nathanielmarrs@gmail.com>
Co-authored-by: Nathan Marrs <nathanielmarrs@gmail.com>
2024-08-01 16:58:53 -04:00
Leon Sorokin
7c0ee6ebe4 Heatmap: Skip null values instead of treating as 0 (#91424) 2024-08-01 15:40:43 -05:00
Larissa Wandzura
6efd52eac8 Docs: Updates to Traces in Explore doc (#90774)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2024-08-01 13:54:00 -05:00
Alexander Akhmetov
3952f627eb Alerting: Parse secret fields case-insensitively when creating or updating a contact point (#90968)
* Alerting: Handle case-insensitive secret fields in contact point settings
2024-08-01 19:03:47 +02:00
Yuri Tseretyan
e231211234 Alerting: Fix permissions for prometheus rule endpoints (#91409) 2024-08-01 13:01:00 -04:00
Alyssa (Bull) Joyner
c0f01c30c8 Add CockroachDB as an enterprise data source (#90860) 2024-08-01 10:59:40 -06:00
Joao Silva
dbb64b3ff0 Icons: Cache Bookmark icons (#91332) 2024-08-01 17:27:44 +01:00
William Wernert
a1ee84f757 Alerting: Remove duplicate tracing middleware from prom writer (#91353)
Remove duplicate tracing middleware from prom writer
2024-08-01 11:57:14 -04:00
Ieva
2e2ddc5c42 Folders: Allow folder editors and admins to create subfolders without any additional permissions (#91215)
* separate permissions for root level folder creation and subfolder creation

* fix tests

* fix tests

* fix tests

* frontend fix

* Update pkg/api/accesscontrol.go

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

* fix frontend when action sets are disabled

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
2024-08-01 18:20:38 +03:00
renovate[bot]
85e2ea2488 Update dependency @grafana/faro-web-sdk to v1.9.0 (#91403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 18:07:34 +03:00
renovate[bot]
cd4aaab848 Update dependency @grafana/faro-web-sdk to v1.9.0 (#91400)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 15:48:46 +01:00
renovate[bot]
882cb70bdf Update dependency @grafana/faro-core to v1.9.0 (#91398)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 17:07:32 +03:00
Andrej Ocenas
04d8f0f063 Runtime: Add provider and access hook for location service (#90759) 2024-08-01 15:59:20 +02:00
Brendan O'Handley
e39a131110 Prometheus: Add group function to aggregations (#91363)
add group function to aggregations
2024-08-01 08:58:12 -05:00
renovate[bot]
ad7b532932 Update dependency @grafana/scenes to v5.7.3 2024-08-01 13:47:47 +00:00
grafana-pr-automation[bot]
fb4a4d62c3 I18n: Download translations from Crowdin (#91397)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-01 16:44:41 +03:00
Tom Ratcliffe
17067824fb Alerting: Conditionally use k8s API for simplified routing contact points selector (#90901) 2024-08-01 14:41:40 +01:00
Gabriel MABILLE
c76d1e04e8 Authz: Fix on-prem grpc authentication (#91341)
* Authz: Fix on-prem grpc authentication

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>

* Remove noAuth override

---------

Co-authored-by: Claudiu Dragalina-Paraipan <claudiu.dragalina@grafana.com>
2024-08-01 16:30:13 +03:00
renovate[bot]
d8245966a4 Update dependency rc-cascader to v3.27.0 (#91396)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 16:25:47 +03:00
Josh Hunt
024e839aae Chore: Fix Crowdin Download action failing consistently (#91394) 2024-08-01 14:25:33 +01:00
Leonor Oliveira
fb9903ed7c Allow to watch from the dual writer (#91375)
* Allow to watch from the dual writer

* Remove comments

* Lint
2024-08-01 15:09:51 +02:00
Alexander Akhmetov
a32854549c Alerting: Support median in reduce expressions (#91119)
* Alerting: support median in reduce expressions
2024-08-01 15:04:17 +02:00
Ashley Harrison
66bfb31d8e Tooltip: Handle case where document.body is the scrolling element (#91385)
* handle case where body is the scrolling element

* use instanceof Node instead
2024-08-01 13:34:23 +01:00
renovate[bot]
2cccde932c Update dependency knip to v5.27.0 (#91392)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 15:23:04 +03:00
Ashley Harrison
7a9a34629b tidy up styles + fix docked menu overlaying popovers (#91380) 2024-08-01 13:16:45 +01:00
renovate[bot]
aa6e9379bf Update dependency i18next to v23.12.2 (#91383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 15:12:30 +03:00
Josh Hunt
a547b38643 Docs: Update defaults.ini for new faro option (#91384) 2024-08-01 13:54:39 +03:00
jackyin
d11f8c7bc3 Plugins: Ensure grafana cli can install multiple plugin dependencies (#91230)
* fix cli can only install one dep

* handle error
2024-08-01 11:47:11 +01:00
renovate[bot]
796f2994f9 Update dependency eslint-plugin-jsx-a11y to v6.9.0 (#91374)
* Update dependency eslint-plugin-jsx-a11y to v6.9.0

* ignore new violation and add comment to fix

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-08-01 13:34:02 +03:00
renovate[bot]
bda56de7d6 Update dependency html-loader to v5.1.0 (#91381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 13:31:31 +03:00
renovate[bot]
596c08e8f4 Update dependency eslint-plugin-react to v7.35.0 (#91378)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:11:09 +01:00
renovate[bot]
6cda2f67de Update dependency eslint-plugin-jsdoc to v48.10.2 (#91370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 11:46:59 +03:00
renovate[bot]
0590a42895 Update dependency eslint-plugin-jest to v28.6.0 (#91343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 09:28:51 +01:00
Georges Chaudy
36c2e0cfae unifiedStorage: sort by namespace/name ASC (#91314)
* unified: sort by key asc

* sort by key

* keep tests commented
2024-08-01 08:27:01 +00:00
Kim Nylander
a77ff98d3f Update traces to metrics doc (#90916) 2024-08-01 08:38:47 +01:00
Dominik Prokop
14c4bb6f87 TemplateSrv: Add test case for SafeSerializableSceneObject (#90808)
* TemplateSrv: Add test case for SafeSerializableSceneObject

* Update dashboard data source to use scoped vars scene object valueOf
2024-08-01 09:38:15 +02:00
renovate[bot]
9e3fd443f2 Update dependency esbuild-loader to v4.2.2 (#91338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 09:36:52 +02:00
Drew Slobodnjak
e6531d0ecd Table: Fix negative numbers during rtl styling (#91347)
* Table: fix negative numbers during rtl styling

* revert field config unit check as it is no longer needed with fix implemented in this PR

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-31 15:28:24 -07:00
Isabella Siu
19585c9491 CloudWatch: Update grafana-aws-sdk for updated metrics (#91364) 2024-07-31 17:40:08 -04:00
Todd Treece
e890279dcf Chore: Add go work sync to workspace update (#91360) 2024-08-01 00:06:05 +03:00
Charandas
a3d3f9a1e4 Revert "Identity: Remove id token from extra info (#91169)" (#91350)
This reverts commit 10170cb839.
2024-07-31 21:27:46 +03:00
Haris Rozajac
e81fa0e4c5 Explore: Check for RBAC permissions when hitting query history endpoints (#91156)
* Check for RBAC permissions when hitting query history endpoints; extract checking logic into a middleware

* Fix lint errors

* Fix test

* Use permissions for patch path; rename callback handler
2024-07-31 12:10:52 -06:00
renovate[bot]
eef07aedc8 Update dependency esbuild-plugin-browserslist to ^0.14.0 (#91342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 17:08:18 +01:00
renovate[bot]
7570ea8c4f Update babel monorepo (#91079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 16:32:58 +01:00
Josh Hunt
ff774e210c E2C: Show snapshot error status (#91214)
* wip getError fn

* Create show errors from all API requests

* suppress error toasts from all e2c endpoints

* require error severity
2024-07-31 16:04:40 +01:00
Josh Hunt
bffcb9de89 E2C: Fix old snapshot showing when reconnecting (#91274) 2024-07-31 15:40:55 +01:00
Victor Marin
24d2fad921 Fix long datalinks to fit in panel options editor (#91203)
fix long datalinks to fit in panel options editor
2024-07-31 17:26:50 +03:00
Sergej-Vlasov
1897de68d4 DashboardGridItem: Add placeholder option when repeat panel options are empty (#91149)
* add placeholder option for repeat panel with empty options

* add tests and update to scenes canary

* adjust tests to not fail on expected console.error
2024-07-31 17:08:29 +03:00
Tom Ratcliffe
6c64d1d443 Alerting: Consume k8s Time Intervals API (#90094) 2024-07-31 16:59:15 +03:00
Sonia Aguilar
d080a91e8a Alerting: Refactor createUrl and createAbsoluteUrl (#90667)
* Refactor url creatUrl and add tests

* update createUrl to createRelativeUrl in GrafanaRules.tsx

* Add slash if not present in createAbsoluteUrl

* Use template type forcing url parameter to start with slash instead of adding slash if not present

* address review comment
2024-07-31 15:30:35 +02:00
renovate[bot]
230416cbb4 Update dependency @tanstack/react-virtual to v3.8.4 (#91287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 16:28:06 +03:00
lean.dev
235f223aef CloudMigrations: Fix typo in trace name (#91261) 2024-07-31 10:24:40 -03:00
Tobias Skarhed
e8c30c86f0 Frontend: Support tracing with Faro (#91237)
Move code from previous PR
2024-07-31 15:13:05 +02:00
colin-stuart
057c04ed9d IDToken: Add current user's DisplayName to the ID token (#90992)
Set claims.Rest.DisplayName from the IDService
2024-07-31 09:11:37 -04:00
renovate[bot]
f58dd70c2b Update dependency @react-awesome-query-builder/ui to v6.6.2 (#91257)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 14:07:57 +01:00
renovate[bot]
856d6b9c9e Update dependency @react-types/shared to v3.24.1 (#91258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 14:07:26 +01:00
Joao Silva
85d0e17dc4 Bookmarks: Store URLs instead of ids (#91121) 2024-07-31 13:56:39 +01:00
Tom Ratcliffe
562380079f Alerting: Chore - remove unused alerting upgradeApi (#91250) 2024-07-31 12:57:48 +01:00
Esteban Beltran
782b725d87 Plugins Catalog: Display Request data source and view roadmap links (#91175)
* Add roadmap links to connection tab

* move to its own component

* add roadmaplinks to the catalog browse page

* use trans for text

* Change TextLink to accept ReactNode

* use Space component

* Add translations
2024-07-31 13:12:16 +02:00
Sven Grossmann
14db32cc9f Loki: Add option to issue forward queries (#91181)
* Loki: Add option to issue forward queries

* Loki: Fix spelling of "backward"/"forward"
2024-07-31 12:53:59 +02:00
renovate[bot]
b2314dfb55 Update dependency @playwright/test to v1.45.3 (#91248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 11:29:26 +01:00
antonio
9e64f51485 alerting: add link to killercoda sandbox in the alerting get started tutorial (#91238)
alerting:fix killercoda link to get started tutorial
2024-07-31 12:11:11 +02:00
Joao Silva
b99d635e30 Bookmarks: Add field for pinNavItems toggle to grafana_navigation_item_clicked interaction (#91184) 2024-07-31 11:07:24 +01:00
Joao Silva
57323e1104 Preferences: Keep navbar preferences when saving from Preferences screen (#91197) 2024-07-31 11:07:08 +01:00
renovate[bot]
7cda6b5245 Update dependency @grafana/plugin-e2e to v1.6.1 (#91246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 11:06:01 +01:00
Alex Khomenko
acbf02cd2f Navigation: Redirect org users to admin users (#91051) 2024-07-31 11:49:14 +02:00
renovate[bot]
ad8e317987 Update dependency @grafana/faro-web-sdk to v1.8.2 (#91244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 10:40:50 +01:00
Ryan McKinley
f804b0baa3 Storage: Return an iterator from backend List (#91185) 2024-07-31 12:05:59 +03:00
Ivan Ortega Alba
dd9172e738 Scenes: Upgrade to v5.7.2 (#91241) 2024-07-31 12:02:43 +03:00
renovate[bot]
e5cf0bd220 Update dependency @grafana/faro-web-sdk to v1.8.2 (#91191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 11:57:39 +03:00
Ieva
702fc3477d RBAC: Fix folder move check when action sets are disabled (#91200)
fox folder move check when action sets are disabled
2024-07-31 09:49:09 +01:00
Alexander Zobnin
44f5db5609 RolePicker: Reload org users after role update (#91201) 2024-07-31 11:46:51 +03:00
Tobias Skarhed
ff54333881 Combobox: Add clear and reset onBlur (#90943)
* Add clear and reset onBlur

* use selectItem

* Use downshift hooks instead

* Fix Clear bug and extract i18n

* Remove useMemo from story

* Add loading state to many options story

* Set fallback to null

* Fix unused import

* Use onBlur and pass it to Downshift instead
2024-07-31 10:37:09 +02:00
renovate[bot]
a5795ad66e Update dependency @grafana/faro-core to v1.8.2 (#91099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-31 09:18:38 +01:00
Giuseppe Guerra
95f340738c Angular deprecation: Disable dynamic angular inspector if CheckForPluginUpdates is false (#91194)
* Angular deprecation: Disable dynamic angular inspector if CheckForPluginUpdates is false

* Add tests

* add type checks for dynamic service
2024-07-31 10:10:12 +02:00
Ryan McKinley
160fe2a3a4 Storage: Remove entity store (#91233) 2024-07-31 09:25:39 +03:00
Ryan McKinley
10170cb839 Identity: Remove id token from extra info (#91169) 2024-07-31 09:14:13 +03:00
Ryan McKinley
68f1a0619d Snapshots: Remove deprecated option snapshot_remove_expired (#91231) 2024-07-31 08:47:15 +03:00
Nathan Marrs
fc1139e51a Transformations: Promote format string as generally available (#91161) 2024-07-31 05:10:07 +03:00
Diego Augusto Molina
30d4a4249c Storage: Disable Resource Server integration tests to unblock pipelines (#91216)
disable integration tests to unblock pipelines until we find the issue
2024-07-30 21:39:33 -03:00
Nathan Marrs
0423c67495 Transformations: Promote add field from calc stat function cumulative and window calcs as generally available (#91160) 2024-07-31 03:30:24 +03:00
Nathan Marrs
a71dfd3109 Canvas: Support template variables in base URL of actions (#91227) 2024-07-30 17:21:57 -07:00
Nathan Marrs
0a34b51055 Transformation: Add variable support for filter by value regex matcher (#90926)
* add support for template vars in filter by value transformation for regex matcher

* less code is more code

* add test to confirm interpolation works for regex

* suggestions input for regex editor

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2024-07-31 02:15:44 +03:00
Yuri Tseretyan
537f1fb857 Alerting: Fix persisting result fingerprint that is used by recovery threshold (#91224)
* fix persister to save result fingerprint

* revert change

* fmt
2024-07-30 18:07:13 -04:00
Lucy Chen
f96eed5abf Sharing Redesign: Add missing i18n translation (#90775)
add i18n translations
2024-07-30 15:39:32 -04:00
Kristina
783ff71560 Explore: Allow saving to Query Library from query row (#89381)
* wip

* Add save functionality to query row

* add success conditional

* move around translations

* Add translations

* Add key to fix test

* Add key to the right spot

* define specific save button

* WIP - Use RowActionComponents to add action without modifying the core component

* Only add component once on render

* Move logic to main explore page

* Add keyed render actions to prevent redundancy, use this to add keyed action

* Overcome the forces of dayquil to attempt to make actual sense

* Add scoped actions to query action component

* Spaces not allowed in generateName
2024-07-30 13:56:44 -05:00
Sven Grossmann
e7156e7e60 Logs: Remove grafana_explore_logs_log_details_clicked event (#91171) 2024-07-30 20:12:30 +02:00
Sven Grossmann
270b01f883 Logs: Remove grafana_explore_logs_result_displayed event (#91172) 2024-07-30 20:12:12 +02:00
owensmallwood
2362e79e4e Unified Storage: Configure client to use tls=preferred (#91162)
* optionally set tls=preferred in the mysql connection string from env var
2024-07-30 11:24:28 -06:00
Nihal
9ad9b4989b Alerting: Include a list of ref_Id and aggregated datasource UIDs to alerts when state reason is NoData (#88819)
* include a list of ref_Id and datasource UID to alerts when state reason is NoData. 

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-07-30 12:55:59 -04:00
Kristin Laemmert
ac0b4bb34d refactor replCfg to look more like plugins/plugin config (#91142)
* refactor replCfg to look more like plugins/plugin config
* validateReplicaConfigs must handle inconsistencies in type names due to the WithHooks suffix
2024-07-30 12:09:56 -04:00
Alexander Weaver
4c71cadd5f Alerting: Detach condition validator from condition evaluator (#91150)
* Detach validator from evaluator

* Drop unnecessary interface and type
2024-07-30 10:55:37 -05:00
Claudiu Dragalina-Paraipan
cf55ac5813 authz: set authzv1.ReadResponse.Found (#91212)
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2024-07-30 18:26:54 +03:00
github-actions[bot]
66b1a219f4 Alerting: Update Swagger spec (#79850)
* chore: update alerting swagger spec
* update public swagger

---------

Co-authored-by: rwwiv <rwwiv@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-07-30 18:17:23 +03:00
Yuri Tseretyan
2023821100 Alerting: update Loki backend of state history to batch requests by folder (#89865)
* refactor `selectorString` and remove Selector struct

* move code from selector string to BuildLogQuery

* batch requests by folder UID

* update historian annotation store to handle multiple queries

* sort folder uids to make consistent queries

* add logs to loki http

* log batch size but not content. content is logged by the client
2024-07-30 11:07:10 -04:00
Claudiu Dragalina-Paraipan
05ab4cdd1f [authz]: use authlib client (#91205)
authz: use authlib client

Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2024-07-30 17:49:46 +03:00
Kevin Minehart
bee678da94 CI: Fix drone docker publish (#91204)
* $debug -> $$debug

* use bash instead of sh

* Update publish_images.star

* Install bash in the docker/docker image

* buildifier
2024-07-30 15:44:04 +01:00
Georges Chaudy
68dd311337 ResourceStore: remove the entity bridge (#90995) 2024-07-30 16:29:25 +02:00
antonio
896f4889b6 2024 07 killercoda tutorial for alerting (#90875)
* alerting/tutorials:killercoda

* changed asset

* alerting: add killercoda to get started tutorial

* applied suggestions

* all pretty, no pity
2024-07-30 15:58:44 +02:00
Georges Chaudy
901f7f1529 unifiedStorage: fix flaky integration test (#91199)
unified: fix flaky integration test
2024-07-30 16:55:51 +03:00
Isabella Siu
c68feecb6e CloudWatch: Add errorsource for QueryData (#91085) 2024-07-30 09:55:01 -04:00
Michael Mandrus
3e138449bb CloudMigrations: Fix bugs found during local testing (#91163)
* send dashboard commands instead of dashboards

* move status updates before goroutine to ensure frontend polls

* fix syncing issues between snapshot state and resources

* make sessionUid a requirement for modifying snapshots

* move the function I meant to move earlier

* remove accidental commit

* another accidental commit

* verify UpdateSnapshot is called with sessionUid

* revert

* pass in session uid everywhere

* forgot to save

* fix unit test

* fix typo

* tiny tweak
2024-07-30 09:02:41 -04:00
João Calisto
0a561d22fb CI: Add new RRC pipeline (#90731)
* CI: Add new RRC pipeline
2024-07-30 14:01:10 +01:00
Egor
ad770cf1e5 Jaeger: Fix calling of search query with the correct time range (#90320)
* Jaeger: call search query with query range (#88156)

* Update test

---------

Co-authored-by: Ivana Huckova <ivana.huckova@gmail.com>
2024-07-30 15:27:22 +03:00
Tom Ratcliffe
6fcf594b32 Alerting: Add eslint testing-library plugin dependency and create separate ESLint config (#91052) 2024-07-30 15:16:54 +03:00
renovate[bot]
e3842df675 Update dependency @types/node to v20.14.13 2024-07-30 11:57:59 +00:00
renovate[bot]
22ad5395d5 Update dependency @reduxjs/toolkit to v2.2.7 2024-07-30 11:35:34 +00:00
Tom Ratcliffe
e877b82af7 Chore: Update imports from RTKQ (#91182) 2024-07-30 12:10:18 +01:00
Will Browne
fa49fe3331 Plugins: Use bundle instead of individual plugin during construct step (#91140)
* work off bundle instead of individual plugin

* Remove children

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* Remove children ref

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* fix assign

* end early

* unset children

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-07-30 11:24:37 +01:00
Ryan McKinley
da65825c5f Storage: Consolidate error handling (#91167) 2024-07-30 10:16:16 +00:00
kay delaney
b80e16075f Scenes/Dashboards: Fix issue where changes in panel height weren't saved (#91125)
* Scenes/Dashboards: Fix issue where changes in panel height weren't saved
2024-07-30 12:34:30 +03:00
Joao Silva
35315f43fe Pin Nav Items: Don't show icon for items without id (#91141) 2024-07-30 10:33:52 +01:00
renovate[bot]
de5932a2ab Update dependency @grafana/scenes to v5.7.0 (#90896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-30 10:29:44 +01:00
Vardan Torosyan
e20f8c566d RBAC sync: Fix removal of roles which need to be added (#91152)
* RBAC sync: Fix removal of roles which need to be added

* Optimize code

* cleanup: appease the linter

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2024-07-30 09:00:47 +02:00
Ryan McKinley
728150bdbd Identity: extend k8s user.Info (#90937) 2024-07-30 08:27:23 +03:00
Señor Performo - Leandro Melendez
efda5a3ef2 docs: Added sub header, description for video link (#91083)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-29 17:42:37 -04:00
ismail simsek
2536049ffd Chore: Remove MetricCategoryCascader from Explore Metrics (#91039)
remove MetricCategoryCascader
2024-07-29 22:51:52 +02:00
Yuri Tseretyan
8323b688c6 Alerting: Improve logging in scheduler and states (#91003)
* handle metadata map nil

* remove double context

* clean up logging in scheduler

* do not reuse loggers from previous ticks

* log the dropped tick

* log tick instead of ticknum

* replace with processing tick logs

* log sending notifications

* update logging in persister to fetch context

* logs to historian

moved them upstream to be able to log when store is overridden
2024-07-29 16:01:48 -04:00
Yuri Tseretyan
1b4b1af9b7 Alerting: Receiver API to use same logic for calculating UID as backend serivce (#91153)
use same logic for calculating uID as backend serivce
2024-07-29 15:55:49 -04:00
Georges Chaudy
7ad37ff4e4 UnifiedStorage: ensure list from history works across all 3 database backends (#91134)
* Ensure List is sorted by resource version DESC

* Ensure List is sorted by resource version DESC

* fix list in the past for postgres
2024-07-29 13:49:54 -06:00
Matthew Jacobson
62f67e38b8 Alerting: Implement receiver auth service (#90857) 2024-07-29 15:49:10 -04:00
Gabriel MABILLE
b982259950 RBAC: Default to plugins.app:access for plugin includes (#90969)
* Default to app access for includes

* Check plugin type
2024-07-29 20:56:09 +02:00
Yuri Tseretyan
34dbfefc86 Alerting: Template service to check for provenance status of update\delete (#90688) 2024-07-29 14:10:03 -04:00
lean.dev
d8555019f1 CloudMigrations: Fix migration in docker (#91147) 2024-07-29 15:00:43 -03:00
Michael Mandrus
a6088e4ee4 CloudMigrations: Improvements to backend (#91012)
* E2C: Add stat rollup to MigrationSummary

* fix report event url

* open form in new page

* sort folders by heirarchy

* undo accidental commit

* remove another commit

* make folder sorting dynamic

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-07-29 17:55:22 +00:00
Tom Ratcliffe
9d639278f4 Alerting: Refactor simplified routing contact points hook (#90762) 2024-07-29 19:22:31 +03:00
Joseph Perez
24c64fdffa Docs: Edit of contribute to docs guide (part 8 of doc improvement project) (#90405)
* Docs: Edit of contribute to docs guide (part 8 of doc improvement project)

* Fix open source

* Modify bullets

* Change final sentence

* Fix final sentence
2024-07-29 08:49:41 -07:00
Josh Hunt
1a7c965f7d E2C: Fix rebuild snapshot not showing while pending upload (#91077)
* E2C: Fix rebuild snapshot not showing while pending upload

* fix unable to make snapshot after disconnect/reconnect

* fix wrap on migration summary
2024-07-29 18:27:31 +03:00
brendamuir
218cf45ec0 Docs: adds alerting redis link to grafana config docs (#91112)
* Docs: adds alerting redis link to grafana config docs

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

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-29 16:46:15 +02:00
Kristin Laemmert
af19f039b6 Chore (sqlstore): add validation and testing for repl config (#90683)
* add some validation and testing for repl cf
* connection strings are secrets
2024-07-29 10:32:56 -04:00
Georges Chaudy
d12cd4280c unifiedStorage: name can be length 1 (#91126)
* fix: name can be len 1

* fix: name can be len 1

* fix: name can be len 1
2024-07-29 15:54:52 +02:00
Joseph Perez
eee66882ef Docs: Edit of files in the backend contributor guide (part 7 of doc quality improvement project) (#89974)
* Docs: Edit of multiple files in the backend contributor guide (part 7 of doc quality improvement project)

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/package-hierarchy.md

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

* Update contribute/backend/package-hierarchy.md

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

* Update contribute/backend/services.md

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

* Update contribute/backend/services.md

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

* Update contribute/backend/services.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/package-hierarchy.md

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

* Update contribute/backend/services.md

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

* Fix for active voice

* Update contribute/backend/instrumentation.md

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Update contribute/backend/instrumentation.md

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

* Fix from review

* Update contribute/backend/services.md

* Update contribute/backend/services.md

* Spelling of wire

* Prettier fixes

* Minor fix

---------

Co-authored-by: Eve Meelan <81647476+Eve832@users.noreply.github.com>
2024-07-29 06:06:50 -07:00
Leonor Oliveira
8345af928c [Dual writer] Read kind value passed as dualwriter's argument (#91113)
* Include kind on the dualwriter to be used on metrics

* Use kind as argument

* Skip dual writer in mode4
2024-07-29 13:57:44 +02:00
Tom Ratcliffe
604c99f137 Alerting: Don't show success message after updating AM config (#90934) 2024-07-29 12:02:34 +01:00
Andre Pereira
733807f963 Tempo: Show search streaming status in query options (#90726)
* Show whether search streaming is enabled in query options

* Fix tests

* Address comments
2024-07-29 11:58:01 +01:00
Ida Štambuk
57331eb898 Docs: Update docs with Metric Insights builder cross-account feature (#91069)
---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-29 12:24:04 +02:00
Ida Štambuk
ec3dc74080 Features: Release Cloudwatch Metric Insights cross-account querying to public preview (#91066) 2024-07-29 12:23:46 +02:00
Will Browne
1b3fa8c47f Plugins: Hide version information when plugin is managed (#88065)
* first pass

* fixup

* fix linter issues

* fix API test

* update naming

* rework

* update var name

* empty check

* prettier

* fix test

* fix lint
2024-07-29 11:18:43 +01:00
Ieva
e2ee7f06eb RBAC: Prevent role picker from disappearing when many roles are selected (#91065)
make the container of selected roles scrollable
2024-07-29 11:17:55 +01:00
Gilles De Mey
746e2eeee6 Alerting: Add validation for path separators in the rule group edit modal (#90887)
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-07-29 11:59:15 +02:00
Joao Silva
c694c97651 Bookmarks: Make the button accessible (#91037) 2024-07-29 10:31:26 +01:00
Alex Khomenko
47fb116989 Paginate migrated resources (#91055)
* E2C: Add snapshot table pagination

* Fix default page number

* Update defaults

* Reduce page size to 50, correctly calculate number of pages

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-07-29 10:21:04 +01:00
Piotr Jamróz
8d98c9eba7 Explore: Pass the dataframes along with the time range of the data (#90594)
* Explore: Pass the dataframes along with the time range of the data (#90259)

* Use data time range for rendering instead of selected range from the picker

* Update CustomContainer to use data time range

* Update test

(cherry picked from commit 58285e37a2)

* Memoize visible range passed to LogsVolumePanel

* Ensure onHiddenSeriesChanged is called only when hidden frames change
2024-07-29 12:07:06 +03:00
Leonor Oliveira
6a1e835f12 Get kind from runtime.Object. Unify metric names (#91041)
* Normalize name labels

* Access kind

* Read kind from the runtime object instead from the options object

* use kind from object on create
2024-07-29 09:58:48 +02:00
Taylor C
a7679b5f8d (Docs) Updates RBAC actions for Adaptive Metrics (#90907) 2024-07-28 08:34:20 +01:00
Kevin Minehart
2ffdc2d5b0 CI: Fix release-pr call in releases (#91088)
* Fix release-pr call in releases

* Remove backport arg

* set TARGET to v_target
2024-07-26 17:20:36 -06:00
Kevin Minehart
4e84234424 CI: set dry-run if release/dry-run label is set on release-comms.yml and set latest on github release if latest is set (#91089)
set dry-run and set latest on github release
2024-07-27 02:14:36 +03:00
Matthew Jacobson
a1f0b599a7 Alerting: Refactor receiver_svc and provisioning config store into legacy_storage package (#90856)
* Add more receivers api tests

* Move provisioning config store to new legacy_storage package
2024-07-26 17:45:33 -04:00
Drew Slobodnjak
0edb0c5c4f Canvas: Always show rotation in layout editor (#90571)
* Canvas: Always display rotation in layout editor

* Simplify condition

* Set default rotation from options if null
2024-07-26 14:37:07 -07:00
Yuri Tseretyan
6b0d20c96a Alerting: time interval service to support addressing intervals by Base64 encoded name (#90563)
* rename to getMuteTimingByName

* add UID to api model of MuteTiming

* update GetMuteTiming to search by UID

* update UpdateMuteTiming to support search by UID

* update DeleteMuteTiming to support uid

* make sure UID is populated

* update usages

* use base64 url-safe, no padding encoding for UID
2024-07-26 16:43:40 -04:00
Victor Marin
2ab746ae76 Disallow edit for panels in repeated rows (#90967) 2024-07-26 23:11:05 +03:00
Juan Cabanas
397dfaf679 ShareDrawer: Share link panel (#90549) 2024-07-26 17:04:34 -03:00
Leon Sorokin
90349b21f7 VizTooltip: Hide on page scroll even if anchored (#91084) 2024-07-26 22:27:49 +03:00
renovate[bot]
1503c82ae9 Update dependency underscore to v1.13.7 2024-07-26 17:05:18 +00:00
renovate[bot]
ef1d96c19a Update dependency postcss to v8.4.40 2024-07-26 16:30:37 +00:00
renovate[bot]
9a376d64c8 Update dependency downshift to v9.0.7 2024-07-26 16:05:44 +00:00
Alexander Weaver
b7220b532e Alerting: Fix bug where patching recording rule queries wouldn't apply (#91011)
* the fix

* tests
2024-07-26 11:02:54 -05:00
Josh Hunt
d7e85354d1 E2C: Improvements to workflow (#91045)
* E2C: Improvements to workflow

* no eslint comment

* i18n

* i18n:

* lint
2024-07-26 16:56:03 +01:00
renovate[bot]
8e006fedda Update dependency @grafana/experimental to v1.7.13 2024-07-26 15:42:50 +00:00
renovate[bot]
3383e2f6b9 Update dependency @grafana/aws-sdk to v0.4.1 (#90898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-26 18:03:44 +03:00
Yuri Tseretyan
534549e491 Alerting: Update documentation for MS Teams integration (#90610)
---------

Co-authored-by: Alyssa Wada <101596687+alyssawada@users.noreply.github.com>
2024-07-26 10:59:58 -04:00
grafana-delivery-bot[bot]
d50bad8fee Release: update changelog for 11.1.3 (#91058)
* 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>
2024-07-26 14:17:52 +00:00
Ryan McKinley
ec6c6bd6c3 Identity: Add read-only identity apiserver (#90418) 2024-07-26 17:09:08 +03:00
Ryan McKinley
be7b1ce2df Chore: Replace appcontext.User(ctx) with identity.GetRequester(ctx) (#91030) 2024-07-26 16:39:23 +03:00
Tobias Skarhed
ddd38afa57 SCSS: Fix mixed declarations deprecation (#91048)
Fix scss deprecation
2024-07-26 15:51:28 +03:00
Ida Štambuk
67f0d04744 Cloudwatch: Add account Id in groupBy options for Metric Insights cross-account (#90906) 2024-07-26 14:20:39 +02:00
Georges Chaudy
e4ed000d05 ResourceStore: Fix sql List (#91043)
* fix resource list

* ensure we get the resource version without FOR SHARE
2024-07-26 13:56:24 +02:00
Sonia Aguilar
8423d06988 Alerting: Implement UI for grafana-managed recording rules (#90360)
* Implement UI for grafana-managed recording rules

* use undefined for the duration instead of null , for recording rules

* Fix tests

* add tests

* Add pause functionality for grafana recording rules

* update translations

* remove obsolete snapshot

* use createUrl instead of renderUrl

* refactor

* Add validation for grafana recording rule name

* create util functions for rule types and add record field in mock function

* add util isDatatSourceManagedRuleByType

* refactor

* Add metric field in alert rule form

* fix alert name component

* update width for alert name and metric

* fix test

* add validation back to cloud recording rules name

* Alerting: Recording rules PR review (#90654)

Update type helper methods

* add slash in createUrl

* fix baseurl in the returnTo

* nits

* Add metric on expanded row in the alert list view

* nits
Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>

* update snapshot

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2024-07-26 13:52:22 +02:00
Michael Mandrus
c0af387766 CloudMigrations: Add a default feedback url (#91018)
add default url
2024-07-26 11:26:18 +01:00
Michael Mandrus
8627385132 CloudMigrations: Open feedback link in a few tab (#91014)
open feedback link in a new tab
2024-07-26 11:26:07 +01:00
Sven Grossmann
f5b4fc58e3 Loki: Also replace step with vars (#91031) 2024-07-26 11:55:04 +02:00
brendamuir
f66149807d Alerting docs: adds history view docs (#91033)
* Alerting docs: adds history view docs

* ran prettier
2024-07-26 11:51:08 +02:00
Josh Hunt
17bd302ef2 E2C: Add stat rollup to MigrationSummary (#90970)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2024-07-26 09:52:59 +01:00
Kevin Minehart
a19a9903bf CI: Fix release-comms regex (#91024)
Fix release-comms regex
2024-07-26 08:18:22 +02:00
grafana-delivery-bot[bot]
190256ee2f Release: update changelog for 11.0.2 (#91022)
* Update changelog

* prettier

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-07-25 23:50:03 +00:00
grafana-delivery-bot[bot]
5aac6e6056 Release: update changelog for 10.4.6 (#91016)
* Update changelog

* prettier:write

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-07-25 23:22:13 +00:00
Kevin Minehart
7e4b7f73e7 CI: use main instead of my branch in release-pr.yml (#91004)
use main instead of my branch
2024-07-26 00:35:20 +03:00
ismail simsek
8dd6bfef3c Explore Metrics: Update history breadcrumb tooltips (#90825)
* add history handler

* move them into functions

* handle adding new history steps

* handle time history by respecting the timezone

* remove commented code

* no type casting

* add unit tests

* add colons and a new type metric_page

* remove console

* fix unit tests
2024-07-25 23:27:41 +02:00
Kevin Minehart
2fe506d502 CI: fix release pr target (#90999)
* use inputs.target as checkout ref, and `main` for all reused actions.
2024-07-25 16:14:29 -05:00
grafana-delivery-bot[bot]
3137410f3f Release: update changelog for 11.1.1 (#90997)
* Update changelog

* Update CHANGELOG.md

* 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>
2024-07-25 21:03:29 +00:00
Kristin Laemmert
daedb358dd chore (replstore): fix registration with multiple sql drivers, again (#90990)
* replstore: fix registration with multiple sql drivers, again
* only compile regex once
2024-07-25 15:13:36 -04:00
Diego Augusto Molina
9852513c65 Release Pipeline: [RPM pkg verification] Fix linefeeds converted to literal backslash-n sequences (#90989)
fix lf converted to literal backslash-n sequence
2024-07-25 15:31:17 -03:00
Joseph Perez
3df7a854e6 Docs: Edit of 4 files in contribute/style-guides (part 9 of doc quality improvement project) (#90705)
* Docs: Edit of 4 files in contribute/style-guides

* Respond to review question

* Fix unordered list

* Update contribute/style-guides/e2e-core.md

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

* Update contribute/style-guides/e2e-core.md

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

* Update contribute/style-guides/e2e-core.md

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

* Fix title

* Prettier fixes

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-07-25 11:14:19 -07:00
lnnt
3c405e8b1f Update version of docker-compose.yaml (#90539)
* Update version of docker-compose.yaml

* Update index.md
2024-07-25 12:28:30 -05:00
Kevin Minehart
089a5710b6 CI: fix changelog push error (#90971)
* add --set-upstream origin to release-pr workflow git push

* use a different branch name for the changelog workflow

* disable backport support for now

* remove backport condition
2024-07-25 19:42:41 +03:00
Georges Chaudy
4baca6947d ResourceServer: make the resource store the default unified storage backend (#90899)
* make the resource store the default unified storage backend

* add integration tests

* fix test non passing

* Update pkg/storage/unified/sql/test/integration_test.go

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

* lint

* fix tests

* fix no rows

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-07-25 18:17:39 +02:00
Kavindu Nilshan
0b822478b6 Resolved the issue stated in issue #90426. (#90465)
* Resolved the issue stated in issue #90426.

* Method created to get the length of the url.

* Applied the length logic and intentional fall through in switch.

* Changed the way length calculated

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>

* Remove un-used method getUrlLength

* Refactoring

---------

Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2024-07-25 10:06:23 -06:00
Kevin Minehart
d4304b59ec CI: fix changelog repo null (#90960)
* give secrets when running changelog action

* i guess secrets don't have types
2024-07-25 18:36:03 +03:00
Josh Hunt
7e6e76f4ff E2C: Show rebuild snapshot button (#90941)
* E2C: Show rebuild snapshot button

* i18n

* Update public/app/features/migrate-to-cloud/onprem/Page.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-07-25 18:03:59 +03:00
Kevin Minehart
14396048d7 CI: changelog boolean type (#90948)
* bool -> boolean

* add missing type keys

* provide secrets in release-pr

* use permissions and built-in github token
2024-07-25 09:52:15 -05:00
Kevin Minehart
c326d865c5 RBAC: Allow plugins to use scoped actions (#90946)
Co-authored-by: gamab <gabriel.mabille@grafana.com>
2024-07-25 17:22:42 +03:00
Diego Augusto Molina
95000f9fc8 fix data race in GetWebAssets (#90939) 2024-07-25 11:14:40 -03:00
Adela Almasan
0a870e6a88 Canvas: Element data links refactor (#90636)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-07-25 07:13:21 -05:00
Josh Hunt
d3061ab61a E2C: Display Pending status for resources (#90935) 2024-07-25 12:38:11 +01:00
Adam Yeats
3ce1a5b0ca AzureMonitor: Fix out of bounds error when accessing metricNamespaceArray and resourceNameArray in buildResourceURI (#89222)
Fix out of range error when accessing metricNamespaceArray in buildResourceURI
2024-07-25 11:19:15 +01:00
Ryan McKinley
9db3bc926e Identity: Rename "namespace" to "type" in the requester interface (#90567) 2024-07-25 12:52:14 +03:00
Alex Khomenko
8cdf5ee824 E2C: Add Public Preview banner (#90922)
* E2C: Add public preview message

* Read feedback URL from the settings

* Translate strings

* Add missing translation

* Add missing translation[2]
2024-07-25 12:44:49 +03:00
Laura Fernández
944cc87f65 Combobox: Styling for dropdown (#90140)
* Add getSelectStyles

* Modify combobox styles

* Fix option with description styles

* Add highlightedIndex

* Undo estimateSize changes

* Create getComboboxStyles

* Add floating ui to Combobox

* Use elements to apply existing refs

* Delete width on styles

* Fix menu styling

* Update packages/grafana-ui/src/components/Combobox/Combobox.tsx

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Changes suggested in reviews

* Delete container styles

* Delete container styles

* Add calculated height to ul element

* Show all options in the many options story

* Replace deprecated code

* Remove console.log

* Fix ts error

* Fix ts error

* Fix val is mull error

* Fix ts error

* Add comment in the code

* Modify the comment

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2024-07-25 11:17:23 +02:00
Ida Štambuk
0d1fbc485f Cloudwatch: Add support for adding account id to sql query (#90880) 2024-07-25 11:00:50 +02:00
Sven Grossmann
94dd4105e2 Loki: Allow alert headers to be forwarded (#90890)
* Loki: Allow alert headers to be forwarded

* Loki: fix tests

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2024-07-25 07:39:34 +02:00
Michael Mandrus
dc355331a6 CloudMigrations: Store encryption key in unified secrets table (#90908)
* store encryption key in unified secrets table

* fix local dev mode

* make metadata more realistic

* fix tests

* fix sql queries against postgres

* fix stats endpoint
2024-07-25 06:34:25 +03:00
Larissa Wandzura
49c756d774 Docs: Updated the Logs in Explore doc (#90671)
* updates and language clarification

* fixed screenshot under logs nav

* removed gerund from title

* ran prettier

* removed trace integration file from PR

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

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

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

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

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

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

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

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

* Discard changes to docs/sources/explore/trace-integration.md

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-24 13:10:30 -05:00
Brendan O'Handley
e0d0322036 Prometheus: Deprecation message for SigV4 in core Prom (#90250)
* add deprecation message for SigV4 in core Prom

* remove extra things

* change name to Amazon Prometheus

* update AMP name
2024-07-24 12:27:10 -05:00
Señor Performo - Leandro Melendez
fd39017153 docs: Updates to GeoMap panel doc (#90769)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-24 13:14:35 -04:00
Sven Grossmann
cca9dee702 Loki: Remove instant query type from Log queries (#90137)
* Loki: Prevent log queries to run as `instant` query

* Loki: add tests

* Loki: only overwrite instant queries

* Loki: fix tests

* Loki: fix tests
2024-07-24 18:37:34 +02:00
Ieva
9bb2cf4968 RBAC: Allow omitting default permissions when a new resource is created (#90720)
* Cfg: Move rbac settings to own struct

* Cfg: Add setting to control if resource should generate managed permissions when created

* Dashboards: Check if we should generate default permissions when dashboard is created

* Folders: Check if we should generate default permissions when folder is created

* Datasource: Check if we should generate default permissions when datasource is created

* ServiceAccount: Check if we should generate default permissions when service account is created

* Cfg: Add option to specify resources for wich we should default seed

* ManagedPermissions: Move providers to their own files

* Dashboards: Default seed all possible managed permissions if configured

* Folders: Default seed all possible managed permissions if configured

* Cfg: Remove service account from list

* RBAC: Move utility function

* remove managed permission settings from the config file examples, change the setting names

* remove ini file changes from the PR

* fix setting reading

* fix linting errors

* fix tests

* fix wildcard role seeding

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
Co-authored-by: jguer <me@jguer.space>
2024-07-24 19:31:26 +03:00
Vardan Torosyan
82236976ae Add support ticket fixed roles to cloud role sync (#90864)
* Add support ticket fixed roles to cloud role sync

* Adding tests

* Fix the linter
2024-07-24 17:58:21 +02:00
Dominik Prokop
f1c3c55983 Bump scenes to 5.6.2 (#90893) 2024-07-24 14:21:58 +01:00
renovate[bot]
21b45f5789 Update dependency rudder-sdk-js to v2.48.14 2024-07-24 13:13:04 +00:00
Jo
93a979d46d Auth: Fix grafana-auth-app menu not being displayed (#90882)
Auth: Fix grafana-auth-app menu not being displayed if user only has access to cloud access policies
2024-07-24 15:10:19 +02:00
renovate[bot]
e5ff5e65df Update dependency @react-types/overlays to v3.8.9 (#90889)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-24 12:45:08 +00:00
Santiago
b79b38f02c Alertmanager: Support limits for silences (#90826)
* Alertmanager: support limits for silences

* update grafana/alerting to latest main
2024-07-24 14:22:29 +02:00
renovate[bot]
7180f8a7d1 Update dependency @react-types/menu to v3.9.11 2024-07-24 12:11:54 +00:00
Leonor Oliveira
ec343f276f Dual writer: mode 4 (#90581)
* Itroduce watcher and mode4

* Logging

* Mode4 should be initialized from the dual writer for observability

* Comment watch while it's not implemented

* Lint

* Use mode log when dual writer is initiated

* Use error from logger
2024-07-24 14:10:10 +02:00
renovate[bot]
701e715662 Update dependency @react-types/button to v3.9.6 2024-07-24 11:46:02 +00:00
Ashley Harrison
d8711beac5 Chore: Migrate dashdiff styles to emotion globals (#90818)
* migrate dashdiff styles to emotion globals

* fix colors
2024-07-24 12:43:52 +01:00
Joey
a9aadf2aa0 Update code owners for data sources transferred to big tent squad (#90877)
Update codeowners for data sources transferred to big tent squad
2024-07-24 11:19:55 +01:00
brendamuir
745eb60775 Alerting docs: updates icon on landing page (#90881)
* Alerting docs: updates icon on landing page

* adds svg
2024-07-24 12:13:12 +02:00
Todd Treece
d2467bb088 Chore: Fix dev profiling (#90866) 2024-07-24 06:12:45 -04:00
renovate[bot]
5be7cfca69 Update React Aria 2024-07-24 10:56:08 +01:00
Sven Grossmann
80b2e793ab Loki: Remove unnecessary featuremgmt (#90874)
Loki: Remove unnecessary featuremgmt
2024-07-24 11:00:41 +02:00
renovate[bot]
92d0a40f70 Update Yarn to v4.3.1 (#90871)
* Update Yarn to v4.3.1

* add yarn 4.3.1

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2024-07-24 11:46:53 +03:00
Ashley Harrison
6df9fda298 Navigation: Tweak app height when bodyScrolling is enabled (#90828)
use vh instead of svh
2024-07-24 09:04:24 +01:00
Leonor Oliveira
67b74e1e8a Dual writer: mode 3 (#90045)
* Dual writer: mode 3

* Add integration tests for playlits in mode 3

* Remove todo

* Update pkg/apiserver/rest/dualwriter_mode3.go

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>

* Admin: Fixes an issue where user accounts could not be enabled (#88117)

Fix: unable to enable user

* [REVIEW] FInish mode 3 and add tests

* Improve logging

* Update dependencies

* Update pkg/apiserver/rest/dualwriter_mode3_test.go

Co-authored-by: maicon <maiconscosta@gmail.com>

* remove test assertion

* Use mode log when dual writer is initiated

---------

Co-authored-by: Arati R. <33031346+suntala@users.noreply.github.com>
Co-authored-by: gonvee <gonvee@qq.com>
Co-authored-by: maicon <maiconscosta@gmail.com>
2024-07-24 09:28:14 +02:00
Hugo Kiyodi Oshiro
5e3a5b355e Plugins: Disable install controls for provisioned plugin in cloud (#90479) 2024-07-24 08:36:15 +02:00
owensmallwood
8fd2245ce6 Grafana: Skip US tests breaking enterprise for now (#90869)
* skip US tests breaking enterprise for now

* skips rest of tests
2024-07-23 16:08:47 -06:00
renovate[bot]
d93c83a6dc Update dependency msw to v2.3.4 2024-07-23 22:06:06 +00:00
renovate[bot]
671f278ee1 Update dependency @types/node to v20.14.12 2024-07-23 19:21:07 +00:00
renovate[bot]
cfe8a5121a Update dependency yaml to v2.4.5 2024-07-23 18:29:00 +00:00
renovate[bot]
b85700e386 Update dependency semver to v7.6.3 2024-07-23 17:34:17 +00:00
Adam Simpson
a7d37d4ed5 azuremonitor: add labels for single resource query (#90832)
* azuremonitor: add labels for single resource query

* fix tests
2024-07-23 13:31:44 -04:00
renovate[bot]
d30f8a01cc Update dependency sass to v1.77.8 2024-07-23 17:13:23 +00:00
ismail simsek
87b2494872 Explore Metrics: Implement grouping with metric prefixes (#89481)
* add groop as a local dependency

* update layout

* nested layout with panels

* fix the height of the rows

* copy groop library into grafana/grafana

* Don't create a new scene everytime metrics refreshed

* Add display option dropdown

* handle different layout options in buildLayout

* add select component props

* unify scene body creation

* handle other display cases in refreshMetricNames

* set a new body when display format is different

* handle nestedScene population

* show nested groups

* handle panel display

* add tabs view

* populate tabs view

* show selected tab group

* show display options before metric search

* populate prefix filter layout

* only switch layout for nested-rows display option

* Update public/app/features/trails/groop/parser.ts

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

* Update public/app/features/trails/groop/parser.ts

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

* Update public/app/features/trails/MetricSelect/MetricSelectScene.tsx

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

* Update public/app/features/trails/MetricSelect/MetricSelectScene.tsx

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

* Remove tab view

* generate groups async

* Remove unnecessary parts

* Refactor

* implement urlSync

* update keys

* introduce interaction

* ui updates

* chore: revert some auto formatting to clarify comments

* chore: revert some auto formatting to clarify comments

* rename

* add tooltip

* add styles

* update unit tests

* make i18n-extract

* update unit test

---------

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
Co-authored-by: Darren Janeczek <darren.janeczek@grafana.com>
2024-07-23 18:23:28 +02:00
renovate[bot]
d2b78931a1 Update dependency rudder-sdk-js to v2.48.13 2024-07-23 16:09:22 +00:00
Ieva
c2e0952553 Folders: Improve folder move permission checks (#90588)
* check that a user doesn't have higher plugin access on the destination folder than they have on the source folder when moving folders

* Update pkg/services/folder/folderimpl/folder_test.go

---------

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2024-07-23 17:07:27 +01:00
renovate[bot]
546d9991fa Update dependency react-use to v17.5.1 2024-07-23 15:42:41 +00:00
Larissa Wandzura
8285f11f04 Docs: Updates to the Query management in Explore page (#90541)
Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-07-23 09:55:57 -05:00
renovate[bot]
d107f928b9 Update dependency msw to v2.3.3 2024-07-23 14:54:11 +00:00
renovate[bot]
b6e8a320ce Update dependency rc-tree to v5.8.8 2024-07-23 14:32:59 +00:00
Dominik Prokop
2e5b41cbcb TemplateSrv: Backportable version of 90808 (#90833)
TemplateSrv: Backportable version of 90808 (#90816)

* TemplateSrv: Add test case for SafeSerializableSceneObject

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

* 11.1.x Backportable version of 90808

* lint
2024-07-23 16:02:20 +02:00
Ashley Harrison
219f4776a2 run prettier 2024-07-23 14:45:54 +01:00
renovate[bot]
486815606c Update dependency prettier to v3.3.3 2024-07-23 14:45:54 +01:00
Julien Duchesne
25f0c70022 OpenAPI: Document the /api/health endpoint (#88203)
Document `/api/health` with OpenAPI
To do so, the response build had to be re-implemented as a struct
2024-07-23 09:41:03 -04:00
Dominik Prokop
89945b1bc2 Revert "TemplateSrv: Backportable version of 90808 (#90816)" (#90831)
This reverts commit 6849a6b86b.
2024-07-23 16:28:15 +03:00
Dave Henderson
a59c9525c1 notifications: Fix flaky SMTP tests (#90801)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-23 08:22:00 -04:00
Vickie Chen
a1182b119e Chore: Remove deprecated layout components from Plugins Platform (#88523)
* Chore: Remove deprecated layout components from Plugins Platform

Resolves #86878

* Chore: Use `Box` instead of `div`
2024-07-23 14:16:26 +02:00
Dominik Prokop
6849a6b86b TemplateSrv: Backportable version of 90808 (#90816)
* TemplateSrv: Add test case for SafeSerializableSceneObject

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

* 11.1.x Backportable version of 90808

* lint
2024-07-23 14:05:24 +02:00
Alex Khomenko
8966083132 Pin Nav Items: Add tracking for pinned items clicks (#90803)
* Pin Nav Items: Add tracking for pinned items clicks

* Update id

* Simplify onClick logic
2024-07-23 14:58:50 +03:00
renovate[bot]
888417c01b Update dependency postcss to v8.4.39 2024-07-23 11:54:17 +00:00
Victor Marin
01e161c5b1 DashboardScenes: TemplateSrv should return timeRange from scenes if context found (#90735)
* templateSrv should return timeRange from scenes if context found

* add test

* prettier

* test
2024-07-23 14:50:49 +03:00
renovate[bot]
d75475ae03 Update dependency ol-ext to v4.0.21 2024-07-23 11:32:31 +00:00
renovate[bot]
c42b6fa925 Update dependency msw to v2.3.2 2024-07-23 10:33:15 +00:00
Andreas Christou
32a3012a20 Graphite: Ensure all Graphite query references are interpolated (#90566)
Ensure Graphite query references are interpolated
2024-07-23 11:31:45 +01:00
ektasorathia
4779d8417d Tracing: Add regex support for span filters (#89885)
* Tracing: Add regex support for span filters

* Update SpanFilters test

* Modify placeholder

---------

Co-authored-by: Ekta Sorathia <esorathia@ebay.com>
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2024-07-23 11:10:54 +01:00
Ashley Harrison
80f201026f Chore: Migrate _dashboard SCSS styles to emotion (#90604)
migrate dashboard.scss styles to emotion
2024-07-23 11:02:18 +01:00
renovate[bot]
e5a0117bb8 Update dependency marked-mangle to v1.1.8 2024-07-23 09:59:48 +00:00
renovate[bot]
66c4dff17e Update dependency @react-types/overlays to v3.8.8 2024-07-23 09:31:01 +00:00
Alexa V
474ea9615d Dashboard Scene: Make Variables non-sticky on mobile (#90755)
* Make variables not sticky on mobile

* Removes scrollable body

* Remove unused CSS

* Remove unnecessary cx

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-07-23 11:28:16 +02:00
renovate[bot]
b580cee96b Update dependency @react-types/menu to v3.9.10 2024-07-23 09:05:04 +00:00
Ashley Harrison
8f9dc4a923 Navigation: move bodyScrolling to be public preview (#90811)
move bodyScrolling to be publicPreview
2024-07-23 10:02:06 +01:00
renovate[bot]
6dcf974543 Update dependency @react-types/button to v3.9.5 2024-07-23 08:30:42 +00:00
renovate[bot]
999aff5458 Update React Aria (#90760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-23 09:07:47 +01:00
Michael Mandrus
8e3e64460b CloudMigrations: Change onPremToCloudMigrations feature toggle to public preview (#90757)
* update feature toggle stage

* a word

* update docs
2024-07-23 03:30:51 +03:00
Nathan Marrs
3b9c6da4eb Table: Fix cell units (#90799) 2024-07-22 15:41:51 -07:00
Leon Sorokin
06a5c970c4 VizTooltip: Wrap labels to new lines when > ~50% screen width (#90798) 2024-07-22 15:52:36 -05:00
William Wernert
45f298120e Alerting: Return error when writing recorded metrics instead of default writing NaN (#90743)
* Return error instead of default writing NaN
2024-07-22 15:47:02 -04:00
Sarah Zinger
f1b4964b24 Update the elastic search workflow to go to aws datasources squad (#90768) 2024-07-22 14:22:29 -04:00
Kim Nylander
edb7ecef70 [DOC] Update span filters doc for Tempo data source (#90771) 2024-07-22 13:10:31 -05:00
Victor Marin
771933bd74 Move panel plugin change logic into scenes (#90535)
* wip

* move logic into vizPanel

* add tests

* bump scenes

* set pluginId synchronously for component rerenders in table view

* fix bugs around table view

* fix

* fix

* use panelPlugin meta straight from config

* fix

* fix

* fix
2024-07-22 20:26:52 +03:00
Jean-Philippe Quéméner
bf09d8f615 chore(tests): skip flaky test (#90763) 2024-07-22 21:18:05 +04:00
Diego Augusto Molina
399d77a0fd Resource server improvements and fixes (#90715)
* cleanup dependencies and improve list method
* Improve Resource Server API, remove unnecessary dependencies
* Reduce the API footprint of ResourceDBInterface and its implementation
* Improve LifecycleHooks to use context
* Improve testing
* reduce API size and improve code
* sqltemplate: add DialectForDriver func and improve naming
* improve lifecycle API
* many small fixes after adding more tests
2024-07-22 20:08:30 +03:00
Nikolaos Pothitos
5f367f05dc Docs: Remove duplicate row (chore) (#90710) 2024-07-22 12:55:07 -04:00
Sarah Zinger
863f9a5e88 Update codeowners for elastic search (#90734) 2024-07-22 11:46:28 -04:00
renovate[bot]
3ce0e30358 Update dependency lerna to v8.1.7 2024-07-22 15:44:49 +00:00
renovate[bot]
61e408ab93 Update dependency immutable to v4.3.7 2024-07-22 15:22:13 +00:00
Kevin Minehart
9a3672c2bb CI: post changelog to forum in release-comms (#90742)
* post changelog to forum in post-release workflow
2024-07-22 18:00:37 +03:00
renovate[bot]
5391d77623 Update dependency eslint-scope to v8.0.2 2024-07-22 14:40:09 +00:00
Bruno
8d8f2ba587 Cloud migration: encryption key is a byte slice (#90739)
* Cloud migrations: include metadata returned by CMS in the index file

* Cloud migrations: make EncryptionKey a []byte in structs

* test
2024-07-22 11:25:12 -03:00
renovate[bot]
7fdf992dab Update dependency dompurify to v3.1.6 2024-07-22 14:19:41 +00:00
renovate[bot]
fdf5ed98d8 Update dependency chrome-remote-interface to v0.33.2 (#90741)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-22 16:50:34 +03:00
renovate[bot]
2ebd4237f6 Update dependency chance to v1.1.12 2024-07-22 13:29:52 +00:00
Ashley Harrison
dc30858e9d Select: Fix scrolling virtualized menu on mobile (#90724)
pass select-menu innerRef to virtualized list
2024-07-22 14:27:50 +01:00
Ashley Harrison
95589ed091 Navigation: Add tab title to breadcrumbs (#89102)
* show active child in breadcrumb

* use activeChild url

* only add tab title if not first tab

* handle scenes settings breadcrumbs

* fix breadcrumbs on starred dashboard settings

* display separate crumb
2024-07-22 14:27:05 +01:00
Bruno
07685646a3 Cloud migrations: include metadata returned by CMS in the index file (#90658) 2024-07-22 10:11:57 -03:00
Georges Chaudy
b2766ece5e Resource store sql backend watch (#90480)
* Squashed commit of the following:

commit 3ae9aea0fdc5eef70e16e0ba26f817ca1883ebc9
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 17 23:21:07 2024 +0200

    Add group and resource to ListOptions

commit 638441a656d4098343fd72f1942c5845fb50f536
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 17 22:25:35 2024 +0200

    poll for resources independently

commit 4c4c88e2d6b69a589a03fc4ea3b287ef557d67a0
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 17 17:39:10 2024 +0200

    Update pkg/storage/unified/sql/data/resource_history_poll.sql

    Co-authored-by: Dan Cech <dcech@grafana.com>

commit 67f42dbfcaa6b92056c7e6e25f21e870b7fa08e6
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 17 16:01:13 2024 +0200

    Update pkg/storage/unified/sql/backend.go

    Co-authored-by: Dan Cech <dcech@grafana.com>

commit e869e829d07d6fce6f79f18679680d32fa9491f5
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 17 16:01:06 2024 +0200

    Update pkg/storage/unified/sql/backend.go

    Co-authored-by: Dan Cech <dcech@grafana.com>

commit 6e498c0cd7434007649fd8de30a7d17e1c425c42
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 16 16:47:35 2024 +0200

    Add watch working for multiple resources

commit 0da775e521
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 16 11:14:55 2024 +0200

    indent

commit e15d1d060c
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 15 14:41:15 2024 +0200

    reindent sql

commit a64f88b0ea
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Fri Jul 12 18:32:13 2024 +0200

    Update pkg/storage/unified/sql/backend.go

    Co-authored-by: Dan Cech <dcech@grafana.com>

commit dd383150bf
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Wed Jul 10 10:45:56 2024 +0200

    lint

commit ccf12406a6
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 9 15:25:54 2024 -0700

    merge main

commit 2b4b9f66d3
Merge: df72a61a52 079f0715aa
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 9 15:12:51 2024 -0700

    merge main

commit df72a61a52
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 9 15:06:32 2024 -0700

    clearnup against smaller upstream

commit 12257d9dfe
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 9 15:03:50 2024 -0700

    clearnup against smaller upstream

commit 07b804457e
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 9 21:41:30 2024 +0200

    listAtRevision should always use the token from the RV if present

commit 1fc1dd0914
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 9 19:45:44 2024 +0200

    Update pkg/storage/unified/sql/backend.go

commit 2207ef10de
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 9 19:44:35 2024 +0200

    Update pkg/storage/unified/sql/queries_test.go

commit 36d9099d1a
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 9 15:57:55 2024 +0200

    lint

commit 37e0745d7a
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Tue Jul 9 12:26:49 2024 +0200

    Fix missing rows.Close()

commit a6538fa8df
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 23:54:33 2024 +0200

    add resource_history_list test

commit e8214869de
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 23:51:14 2024 +0200

    add resource_history_list test

commit f6b32c94bd
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 23:42:46 2024 +0200

    improve tests for pagination

commit d305f1baf4
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 22:57:11 2024 +0200

    Add pagination

commit c8f516fc55
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 21:55:25 2024 +0200

    pagination first page

commit f3c554e668
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 12:16:16 2024 +0200

    watch

commit 68a0cf5d81
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 12:12:09 2024 +0200

    remove testdataJSON

commit d98da81a42
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 11:49:05 2024 +0200

    move sqltemplate

commit 80bf285216
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 10:49:25 2024 +0200

    watch from head

commit 396979bcf6
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 10:19:01 2024 +0200

    Cleanup

commit 26a2f947e8
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 10:04:13 2024 +0200

    basic list

commit 4275a01bc2
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 00:54:33 2024 +0200

    add watch

commit 75c25a527d
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 8 00:51:40 2024 +0200

    add watch

commit 774ae238cb
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Sun Jul 7 21:49:44 2024 +0200

    Implement SQL store

commit 95ffa3486b
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 20:30:42 2024 -0700

    cleanup

commit ab591cf4d1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 20:25:12 2024 -0700

    cleanup

commit aa4901e206
Merge: 36f7610097 40cb4ac30f
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 20:16:34 2024 -0700

    merge upstream

commit 40cb4ac30f
Merge: 8f4b3062d6 fe201b6bb2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 20:02:04 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store-bridge

commit 8f4b3062d6
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 19:23:40 2024 -0700

    fix lint

commit 428b90c14b
Merge: 9e5b88c6dd edc1f50c4e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 18:46:30 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store-bridge

commit 9e5b88c6dd
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 15:56:28 2024 -0700

    add field selectors

commit 8dd8bc85a6
Merge: 59a142095f de06762852
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 15:44:27 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store-bridge

commit 59a142095f
Merge: 53f16521a7 f70f60efd0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 14:45:35 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store-bridge

commit 53f16521a7
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 14:45:25 2024 -0700

    add doc.go

commit 9fa906ab80
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 14:45:14 2024 -0700

    add doc.go

commit 22d3f163df
Merge: d09979b332 411bab6d44
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 13:55:27 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store-bridge

commit d09979b332
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 13:55:12 2024 -0700

    check for deleted

commit ddcbc753d3
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 13:38:16 2024 -0700

    fix tabs to spaces

commit 2a4fedb6ee
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 10:58:43 2024 -0700

    remove sort parsing

commit e728b12ec0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 10:56:22 2024 -0700

    remove watch tests -- key func complications

commit dc163d10cc
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jul 3 08:59:09 2024 -0700

    add resource store abstraction

commit 36f7610097
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 21:37:01 2024 -0700

    using basic storage engine

commit 26ef342b7e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 21:24:53 2024 -0700

    renamed to basic

commit ddb5f125f0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 18:21:59 2024 -0700

    add sqlobj basic implementation

commit 6a08224725
Merge: 04d57a99e5 5b6edc96d9
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 17:47:36 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store

commit 04d57a99e5
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:47:02 2024 -0700

    merge main

commit 33917141f0
Merge: 924c42f707 2a1b620c38
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:45:45 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store

commit 924c42f707
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:37:35 2024 -0700

    make list preparelist

commit 0db0e13248
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:37:28 2024 -0700

    make list preparelist

commit a3d9f8aab2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:08:42 2024 -0700

    remove eventID

commit 8c1f60aa8b
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 14:08:34 2024 -0700

    remove eventID

commit abacd9aef2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 07:36:07 2024 -0700

    split off blob store services

commit ddae2b4969
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jul 2 07:23:53 2024 -0700

    rename search service to index service

commit a984a4e4f9
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 17:03:23 2024 -0700

    more lint

commit b25e735c02
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 16:04:53 2024 -0700

    frontend refactors

commit 1fb97cf417
Merge: fe8a05c648 c3b5cabb14
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 15:02:34 2024 -0700

    minor lint fixes

commit fe8a05c648
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 08:12:28 2024 -0700

    minor lint fixes

commit 9f2aae1c48
Merge: ece478e12d 86466aec61
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 08:03:18 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store

commit ece478e12d
Merge: f472e95f92 55ba32bda7
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jul 1 01:41:29 2024 -0700

    Merge remote-tracking branch 'origin/main' into resource-store

commit f472e95f92
Author: Andres Martinez Gotor <andres.martinez@grafana.com>
Date:   Mon Jul 1 09:31:05 2024 +0200

    Adapt docs/sources/developers/plugins/plugin.schema.json codeowners (#89832)

commit 8674d705ea
Author: Sebastian Hiebl <bastidest@mailbox.org>
Date:   Sat Jun 29 01:13:34 2024 +0200

    TimeSeries: Expose option for "Bar width factor" (#77338)

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

commit 52d476db05
Author: Leon Sorokin <leeoniya@gmail.com>
Date:   Thu Jun 27 18:58:49 2024 -0500

    Table: Don't error if first frame is field-less (empty response) (#89867)

commit cc5b4d6a94
Author: Simon Podlipsky <simon@podlipsky.net>
Date:   Fri Jun 28 00:53:43 2024 +0300

    Dockerfile: Fix go deps (#89857)

    Add missing deps

commit 7c86705b9b
Author: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
Date:   Thu Jun 27 15:49:20 2024 -0600

    VizTooltip: Hide tooltip options from when tooltip is hidden (#89864)

commit aa9299c4d7
Author: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Date:   Thu Jun 27 17:16:57 2024 -0400

    Docs: Add tooltip options to histogram v11.2 (#89863)

    Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>

commit f90168f500
Author: Nathan Marrs <nathanielmarrs@gmail.com>
Date:   Thu Jun 27 14:43:10 2024 -0600

    Chore: Lint json files in .github directory (#89861)

commit 0f65c06cfe
Author: Nathan Marrs <nathanielmarrs@gmail.com>
Date:   Thu Jun 27 14:22:15 2024 -0600

    Chore: Update DataViz github automation (#89852)

commit 058538287f
Author: Lucy Chen <140550297+lucychen-grafana@users.noreply.github.com>
Date:   Thu Jun 27 15:36:23 2024 -0400

    ShareModal: Export options (JSON) (#87082)

    * Adding new export button

    * Create Export as JSON drawer

    * update scene drawer and add css

    * update css

    * Update ExportAsJson to be regular react component

    * add tests to export menu and button

    * add tests

    * prettier and lint

    * fix translations

    * update translation

    * Apply suggestions from code review

    Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

    * delete extra file

    * Update to use SceneObject

    * add spinner

    * Rename ExportAsJSON.tsx to ExportAsJson.tsx

    * update i18n

    * Upate texts

    * small fixes from code review

    * add space

    * i18n

    * fix build issues

    * changes from review feedback

    * update test

    * update test

    ---------

    Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

commit 79092ebc6a
Author: Juan Cabanas <juan.cabanas@grafana.com>
Date:   Thu Jun 27 14:30:33 2024 -0300

    ShareDrawer: Schedule Report (#89802)

commit d842178c6a
Author: linoman <2051016+linoman@users.noreply.github.com>
Date:   Thu Jun 27 18:29:16 2024 +0200

    SAML: Add Azure AD configuration for SAML integration (#89767)

    * Add Azure AD configuration for SAML integration

commit 920756f797
Author: Ashley Harrison <ashley.harrison@grafana.com>
Date:   Thu Jun 27 16:43:43 2024 +0100

    Storybook: Add basic e2e verification test (#89779)

    * add very basic tests to verify storybook builds correctly

    * add storybook step to drone

    * reorder steps

    * drone tweaks

    * don't need host since it's set in env

    * don't need to wait

    * format build.star and readd wait

    * install netcat in CI

    * do a yarn install here to get correct bindings

    * refactoring to hopefully work better in CI

    * add wait-on

    * add verbose logging

    * localhost?

    * more logging

    * specify storybook host

    * ...

    * back to grafana-server

    * does this work? 🤔

    * run storybook e2e test after rgm-package so the backround process is running for less time

    * split into separate step

    * format

commit a760dad1e3
Author: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Date:   Thu Jun 27 17:26:38 2024 +0200

    VizPanelManager: Adapt color palete after plugin change (#89790)

    * VizPanelManager: Adapt color palete after plugin change

    * Upgrade scenes

    * Remove broken code

    * Upgrade scenes version

    * linter

commit c8ce20a807
Author: Ida Štambuk <ida.stambuk@grafana.com>
Date:   Thu Jun 27 17:10:28 2024 +0200

    Cloudwatch: Round up endTime in GetMetricData to next minute (#89341)

    * Add cloudWatchRoundUpEndTime feature toggle

commit 17ebc9614b
Author: Kristina <kristina.durivage@grafana.com>
Date:   Thu Jun 27 09:46:49 2024 -0500

    Explore / Query Library : Show user data (#88258)

    * Add basic button for adding a query template

    * Add hook to create a template

    * Handle notifications

    * Add tags to invalidate cache

    * Generate translations

    * Updates types

    * Add tests

    * Simplify code

    * Add user to type

    * Add a better default title

    * bring in piotrs pr and try to add user data

    * Move out of metadata (reserved in k8s) and make new values exportable

    * Show user data

    * Fix bad merge

    * WIP

    * Add annotation data to FE

    * add (failing) test

    * Fix types and test

    * Cleanup

    * Enhance user data and send to component for display

    * Fix type

    * Fix expected values

    * fix betterer

    * Fix test

    * Remove user lookup

    * testing slug usage for api

    * Revert "testing slug usage for api"

    This reverts commit cc4556c3b7.

    * change types, display userid if login isnt returned

    * Simply display whatever is in property

    * skip test on removed logic

    * Try waiting for query to finish before eval

    * Revert "Try waiting for query to finish before eval"

    This reverts commit 6220cabd17.

    * Handle attribute not existing when storage type is file

    ---------

    Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>

commit 91895e4835
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Thu Jun 27 17:43:59 2024 +0300

    Chore(deps): Bump github.com/alicebob/miniredis/v2 from 2.30.1 to 2.33.0 (#88588)

    Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.30.1 to 2.33.0.
    - [Release notes](https://github.com/alicebob/miniredis/releases)
    - [Changelog](https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md)
    - [Commits](https://github.com/alicebob/miniredis/compare/v2.30.1...v2.33.0)

    ---
    updated-dependencies:
    - dependency-name: github.com/alicebob/miniredis/v2
      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>

commit ed6c948db0
Author: kay delaney <45561153+kaydelaney@users.noreply.github.com>
Date:   Thu Jun 27 14:17:21 2024 +0100

    Dashboards: Change datemath parse logic so parsed dates always take timezone into account (#88182)

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

commit 523d999414
Author: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Date:   Thu Jun 27 14:00:42 2024 +0200

    Alerting: Use runtime data source for getting events from alert state history in the bar chart (#89307)

    * Use runtime data source for getting events from alert state history in the bar chart

    * extract translations

    * refactor

    * More refactor

    * Update events limit

    * Add info icon with tooltip info for label querying filter

    * Add translations

    * Create new useRuleHistoryRecords hook skipping extraction of common labels as they are not used

    * Fix test

    * update limit value for the events in the api to 5000

    * Use state for rows key

    * remove React import

    * Address review comments

    * Address review comments

    * run prettier

    * Remove duplicated handlers

commit c3337c39b1
Author: Laura Benz <48948963+L-M-K-B@users.noreply.github.com>
Date:   Thu Jun 27 14:00:12 2024 +0200

    RestoreDashboards: Add search (#89692)

    * feat: add search

    * feat: run i18n extraction

    * refactor: styling issue for smaller screen sizes

commit 06084f0ed1
Author: Alexander Zobnin <alexanderzobnin@gmail.com>
Date:   Thu Jun 27 13:57:06 2024 +0200

    Zanzana: Initial schema loading (#89492)

    * Zanzana: Dummy schema loading

    * Load authorzation model for client

    ---------

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

commit ddea4ba8b2
Author: ismail simsek <ismailsimsek09@gmail.com>
Date:   Thu Jun 27 13:33:35 2024 +0200

    Chore: Remove CancelablePromise (#89564)

    * Remove CancelablePromise.ts as it wasn't used in anywhere

    * Move cancelable-promise to the place where it is used

commit 177747ecda
Author: Jack Westbrook <jack.westbrook@gmail.com>
Date:   Thu Jun 27 12:42:42 2024 +0200

    Grafana/data: Remove barrel files part 1 (#89556)

    * chore(grafana-data): remove dataframe barrel file and update all imports and exports

    * chore(grafana-data): remove field barrel file and update imports n exports

    * chore(grafana-data): remove utils barrel file and update imports and exports

    * chore(grafana-data): remove tranformations barrel file and update imports n exports

    * chore(grafana-data): remove imports from root index.ts

    * chore(grafana-data): remove valueFormats barrel file and update imports n exports

    * chore(grafana-data): don't import from root barrel file

commit c3b16639bc
Author: Ashley Harrison <ashley.harrison@grafana.com>
Date:   Thu Jun 27 11:15:15 2024 +0100

    Keybinds E2E: simplify keybinds e2e even further (#89819)

    simplify keybinds e2e even further

commit 8b7a891db4
Author: AHeinlein <AHeinlein@users.noreply.github.com>
Date:   Thu Jun 27 12:07:30 2024 +0200

    Docs: Update LDAP doc for debug view (#89522)

    Update LDAP doc

    LDAP debug view does not work with single bind since there is no way to bind to the LDAP server and perform the search.

commit cb31a1b6ff
Author: Tom Ratcliffe <tom.ratcliffe@grafana.com>
Date:   Thu Jun 27 10:33:40 2024 +0100

    Alerting: Update warning message for Telegram parse_mode and default to empty value (#89630)

commit 3ef048cdd7
Author: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com>
Date:   Thu Jun 27 12:06:07 2024 +0300

    DashboardScenes: Disable flaky new-datasource-variable e2e test (#89817)

    disable flaky new-datasource-variable e2e test

commit e09c1c7515
Author: brendamuir <100768211+brendamuir@users.noreply.github.com>
Date:   Thu Jun 27 10:10:34 2024 +0200

    Alerting docs: adds silence RBAC 11.1 (#89176)

    * Alerting docs: adds silence RBAC 11.1

    * ran prettier

    * Improve docs with new rule-specific silence RBAC information

    * Apply suggestions from code review

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

    * Apply suggestions from code review

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

    * prettier

    ---------

    Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
    Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

commit 1aeceb9d9a
Author: Alexander Akhmetov <me@alx.cx>
Date:   Thu Jun 27 09:45:15 2024 +0200

    Alerting: Add setting for maximum allowed rule evaluation results (#89468)

    * Alerting: Add setting for maximum allowed rule evaluation results

    Added a new configuration setting `quota.alerting_rule_evaluation_results` to set the maximum number of alert rule evaluation results per rule. If the limit is exceeded, the evaluation will result in an error.

commit e96b1c0b42
Author: Georges Chaudy <chaudyg@gmail.com>
Date:   Mon Jul 1 10:32:37 2024 +0200

    Add unified-next-grpc (#89891)

commit afe0848d16
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 13:11:10 2024 +0300

    history UI

commit 2fab168fb1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 12:08:46 2024 +0300

    history UI

commit 1043efe3db
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 11:26:42 2024 +0300

    rename to legacy

commit d452e53ce3
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 10:53:08 2024 +0300

    avoid key from context

commit 19496ceed5
Merge: b71329a8c3 be1414b36b
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 10:19:58 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit b71329a8c3
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 10:09:59 2024 +0300

    history in resource package

commit 37c6b56e4e
Merge: 80fa46b225 9056ff73f6
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 08:49:46 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 80fa46b225
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 08:49:24 2024 +0300

    history from SQL query

commit 4d49cc3118
Merge: 999cd506c0 ed13959e33
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 07:35:23 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 999cd506c0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 01:20:29 2024 +0300

    now with dashboard history

commit 7345ece8ef
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 27 00:10:30 2024 +0300

    with dashboard service

commit 86a7064334
Merge: f68390bebf ba4f2713c5
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 26 16:04:23 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit f68390bebf
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 26 16:04:08 2024 +0300

    not rest.Storage

commit cfc192a2b5
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 26 12:53:57 2024 +0300

    more utils

commit 197a837e1e
Merge: 44a134f72b 4651506319
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 26 08:48:10 2024 +0300

    merge main

commit 44a134f72b
Merge: bac63d0edb f5d9c247d9
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Mon Jun 24 20:55:15 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit bac63d0edb
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 17:39:19 2024 +0300

    remove old comment

commit 37edc450a7
Merge: af38567ea5 b62f8c0f19
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 17:38:20 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit af38567ea5
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 14:55:40 2024 +0300

    remove unimplemented functions

commit ec925bab80
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 14:53:23 2024 +0300

    has a watch bridge... but not working

commit b771d38d78
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 11:13:35 2024 +0300

    with build changes

commit 37c2dade15
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 09:58:38 2024 +0300

    writing to SQL

commit bb7d6d44cd
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 09:24:44 2024 +0300

    with setup flags

commit c2c9449629
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 09:09:01 2024 +0300

    working

commit d67f83a1f3
Merge: b07c4e4210 61a102274d
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 07:49:24 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit b07c4e4210
Merge: 09741a3f49 b075926202
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 21 00:52:10 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 09741a3f49
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 23:05:13 2024 +0300

    merge main

commit 8a6d2e9b6e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 22:50:08 2024 +0300

    merge main

commit 63ebf7b12e
Merge: 75d5ad465e 5e95c1bdf8
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 22:34:38 2024 +0300

    merge main

commit 75d5ad465e
Merge: 83df3bdec8 d988f5c3b0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 22:26:33 2024 +0300

    merge main

commit 83df3bdec8
Merge: a115bb6214 27e800768e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 18:07:48 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit a115bb6214
Merge: c17140f263 13e069b5af
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 20 17:05:36 2024 +0300

    merge main

commit c17140f263
Merge: 3a6e7dc3f0 5d328983a1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 19 22:59:26 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 3a6e7dc3f0
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 19 22:09:33 2024 +0300

    go mod tidy

commit 040f392018
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 19 22:01:10 2024 +0300

    Storage: Add cdk blob support to ResourceStore (#89408)

commit 3e85f87db6
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 19 15:15:37 2024 +0300

    Storage(NG): Move message and operation from protobuf to annotations (#89359)

commit 0b29ca5eac
Merge: 0717e39ec2 b3907ca5ec
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 19 14:57:21 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 0717e39ec2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 22:27:16 2024 +0300

    K8s: Rename origin.key to origin.hash (#89337)

commit 4b4afa1fa7
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 21:19:21 2024 +0300

    more cleanup

commit 9f6709c167
Merge: 7e171702f4 b0c043de5f
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 21:17:30 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 7e171702f4
Merge: 760848d203 890482052a
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 16:08:30 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 760848d203
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 16:07:55 2024 +0300

    Storage (resource): Mutate object in storage, not k8s (#89331)

commit 5e4fa5d735
Merge: 4cde5bd59f ea7f6ea32f
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 08:44:04 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 4cde5bd59f
Merge: 549ecfe053 5f83fdef2c
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 18 07:27:05 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 549ecfe053
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Sat Jun 15 00:49:06 2024 +0300

    lint fix

commit 1a5de75c34
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Sat Jun 15 00:42:19 2024 +0300

    lint fix

commit 31a05d5666
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Sat Jun 15 00:26:45 2024 +0300

    hack hack hack... but working from kubectl

commit 2f64556cf1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 23:34:04 2024 +0300

    almost... but stuck on requester

commit c1b786c718
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 23:10:59 2024 +0300

    cleanup

commit d8abf8d851
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 22:53:10 2024 +0300

    entity bridge

commit d5f3038421
Merge: df9baddf53 8491e02caf
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 21:48:25 2024 +0300

    merge main

commit df9baddf53
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 21:44:33 2024 +0300

    move test files

commit 617dd1b40e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 21:30:41 2024 +0300

    add basic list

commit 8108e90fe2
Merge: ef3a601109 15c81b2a8b
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 17:42:18 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit ef3a601109
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 17:42:15 2024 +0300

    update the event type messages

commit 55d1e8ad1d
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 17:41:16 2024 +0300

    update the event type messages

commit a01f8dd099
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 16:52:17 2024 +0300

    remove rv from key and update watch signature

commit e78a5122ce
Merge: 504d84b8b2 90c3d74955
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 16:19:53 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 504d84b8b2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 15:21:28 2024 +0300

    with storage wrapper

commit 4fa60b6546
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 15:21:17 2024 +0300

    with storage wrapper

commit d97d59ab38
Merge: f66768c67d 2dd44e2f58
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 14:55:52 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit f66768c67d
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 14:24:36 2024 +0300

    now with a base server implementation

commit 4a41f7d0dd
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 14:24:26 2024 +0300

    now with a base server implementation

commit 68003738fd
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 11:28:15 2024 +0300

    use partial object metadata

commit fc82089987
Merge: 9478befbcd dd3c3b5857
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 10:57:16 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 9478befbcd
Merge: 19481990d1 2173429ce2
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 09:08:14 2024 +0300

    merge main

commit 19481990d1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 09:06:44 2024 +0300

    merge main

commit 29714d87fe
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 02:12:35 2024 +0300

    use a path hash for the blob table

commit 382d5d4e01
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Fri Jun 14 02:04:21 2024 +0300

    add fs based store

commit 15b958b2d1
Merge: a03a978eb4 e2f65dda0c
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 22:56:34 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit a03a978eb4
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 22:37:29 2024 +0300

    maybe happier

commit 79aed54c2c
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 22:12:55 2024 +0300

    more body prep

commit 1540c98fe1
Merge: f54af3d371 9d3a4e236d
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 21:19:51 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit f54af3d371
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 20:12:53 2024 +0300

    sum cleanup

commit a0f682b315
Merge: 2197a0e5e8 eb535e163d
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 20:05:01 2024 +0300

    merge main

commit 2197a0e5e8
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 16:02:06 2024 +0300

    update workspace

commit b696b6a32a
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 15:53:06 2024 +0300

    update go.mod

commit 8f44e1a349
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 15:49:41 2024 +0300

    lint fixes

commit c1798320d2
Merge: b44333730f afcb5a855c
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 14:27:42 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit b44333730f
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 14:26:57 2024 +0300

    now with basic test

commit f481f11d3a
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 09:11:10 2024 +0300

    change tree structure

commit e7c15b0e96
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 08:42:00 2024 +0300

    merged main and moved folder structure

commit 09e8605f14
Merge: 40829d645c 99d8025829
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 07:14:54 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 40829d645c
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Thu Jun 13 07:08:54 2024 +0300

    include client wrapper

commit 1857690bd0
Merge: c9c18717f5 ed400f0bbf
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 22:02:53 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit c9c18717f5
Merge: ad79d44db8 3ae95a6eb1
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 15:26:12 2024 +0300

    packaging

commit ad79d44db8
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 14:44:21 2024 +0300

    adding package

commit f8a2a83d59
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 14:44:18 2024 +0300

    adding package

commit 7b6e4d5da4
Merge: 16471fa057 58f7032b39
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 14:21:41 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 16471fa057
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 13:02:06 2024 +0300

    now with event setup

commit d83aa7f865
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 02:44:49 2024 +0300

    is_current

commit df148ca9ea
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 02:21:05 2024 +0300

    use reflection

commit 0118c7666a
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 02:20:47 2024 +0300

    use reflection

commit 5c91e52922
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 02:15:05 2024 +0300

    get metadata with reflection

commit af86293d87
Merge: 4dc3d0ee7f 465efbf802
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 00:48:13 2024 +0300

    Merge remote-tracking branch 'origin/main' into resource-store

commit 4dc3d0ee7f
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 00:34:40 2024 +0300

    update

commit 835879aa7a
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Wed Jun 12 00:29:52 2024 +0300

    revert hash key issues

commit ac39953d0e
Author: Ryan McKinley <ryantxu@gmail.com>
Date:   Tue Jun 11 23:01:40 2024 +0300

    basic queries

* remove old file
2024-07-22 16:07:12 +03:00
Ida Štambuk
5b17cd93c5 Cloudwatch: Remove awsDatasourcesNewFormStyling feature toggle (#90128)
* Remove toggle from cloudwatch plugin

* Remove feature toggle from registry

---------

Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2024-07-22 14:48:17 +02:00
renovate[bot]
b7379b7b51 Update dependency @grafana/scenes to v5.6.1 2024-07-22 12:47:31 +00:00
renovate[bot]
aed52d2cf5 Update dependency chance to v1.1.12 2024-07-22 12:27:23 +00:00
Galen Kistler
6fa25df37f Loki: Fix ad hoc filters adding stream selectors to stream selectors and line filters (#90626)
* fix: fix case where we are adding stream selectors to both stream selectors and line filters

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2024-07-22 07:25:52 -05:00
renovate[bot]
8aecf9bd0d Update dependency centrifuge to v5.2.2 2024-07-22 12:05:46 +00:00
jackyin
5e21898294 Calcs: Update diff percent to be a percent (#90533)
diff per unexpected results
2024-07-22 14:03:11 +02:00
Sonia Aguilar
d0eaf4e484 Alerting: Disable simplified routing when internal alert manager is disabled (#90648)
* Disable simplified routing when internal alert manager is disabled

* address pr review comments

* add test

* remove unnecessary mocks
2024-07-22 13:09:11 +02:00
renovate[bot]
296b14b360 Update dependency @floating-ui/react to v0.26.20 (#90723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-22 14:07:38 +03:00
renovate[bot]
1b3ddf77d9 Update dependency @welldone-software/why-did-you-render to v8.0.3 2024-07-22 10:46:18 +00:00
Joao Silva
546f4aa700 Navigation: Show list of pinned items on MegaMenu (#90280)
* Navigation: Show list of pinned ites on the navigation

* Rename section to 'Bookmarks'

* Internationalization

* Rename everything to bookmarks

* Update public/app/core/reducers/navBarTree.ts

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Ignore empty message as well

* Dont update navigation if there is an error patching

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-07-22 11:43:40 +01:00
Gabriel MABILLE
38ac0f3506 UserTable: Remove sorting on licensed role (#90718) 2024-07-22 12:41:57 +03:00
renovate[bot]
a18f72e415 Update dependency @types/react-resizable to v3.0.8 2024-07-22 08:34:01 +00:00
Ieva
4c7d8c8cdd RBAC: Refactor RBAC plugin interface code (#90679)
move plugin RBAC registration ifaces to pluginsintegrations
2024-07-22 09:31:36 +01:00
renovate[bot]
63cc01fe80 Update dependency @types/node to v20.14.11 2024-07-22 07:57:16 +00:00
Tom Ratcliffe
4e364ea043 Alerting: Split out contact points components to separate files (#90605) 2024-07-22 10:54:13 +03:00
Piotr Jamróz
042c239a56 Query History: Enable query history test (#90597)
* Enable query history test

* Fix time range in the test
2024-07-22 09:22:41 +02:00
Michael Mandrus
ee90cd3031 CloudMigrations: Send local events to gms during the migration process (#90637)
* add gms client function

* add timeout config for endpoint

* report events to gms

* fix lint error

* clean up report calls and make sure reports all have local ids

* extra validation

* improve error logging and fix url
2024-07-20 07:02:31 +03:00
dependabot[bot]
1c5ed0da4d Bump aquasecurity/trivy-action from 0.22.0 to 0.24.0 (#90254)
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.22.0 to 0.24.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](https://github.com/aquasecurity/trivy-action/compare/0.22.0...0.24.0)

---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-19 23:20:53 +00:00
Kevin Minehart
9232db2416 CI: For every release PR created, also push a changelog PR to main (#90698)
For every release PR created, also push a changelog PR to main
2024-07-19 16:54:59 -05:00
Kristina
a0268a9ad2 Query History: Prevent viewers from accessing (#88735)
* Add permissions check for viewer without viewers_can_edit

* Add test

* fix lint

* Add role checks on other handlers

* Linter and fix Go issue

* Fix conflict

* Remove invalid way of testing for error
2024-07-19 14:44:58 -05:00
Lucy Chen
98c197e6cc Sharing Redesign: Export as JSON add toast message (#90021)
* add successful toast message and autoclose drawer

* i18n

* remove autoclose
2024-07-19 15:05:40 -04:00
Darren Janeczek
ce70cf18b9 Explore Metrics: small little code fixes (#90627)
* fix: does not need to be exported

* fix: about time we remove this
2024-07-19 14:59:56 -04:00
Isabel Matwawana
c10dba5c63 Docs: Replaces Agent with Alloy (#90674)
Co-authored-by: Clayton Cornell <131809008+clayton-cornell@users.noreply.github.com>
2024-07-19 14:51:51 -04:00
Evan
faf8a724a6 Clarify that data source request reports are not for bugs or support requests (#90661)
Co-authored-by: David Harris <david.harris@grafana.com>
2024-07-19 20:07:08 +02:00
renovate[bot]
f259f99485 Update dependency @types/lodash to v4.17.7 2024-07-19 17:40:32 +00:00
Stephanie Hingtgen
3fcc7f412b Loki Datasource: Fix getting the feature toggles in MT mode (#90684) 2024-07-19 20:37:46 +03:00
Serge Zaitsev
f8b092aba6 Chore: update changelog workflow (#90608)
* try integrating

* pass tags

* change section order

* use better terminology

* one more attempt

* keep delimiters

* attempt to patch changelog

* quotes, bash quotes...

* use proper content file

* parens around date

* time for a pr

* first checkout, then create user

* add latest input

* git push

* use square brackets

* formatting

* update release-pr

* fix typo

* try sparse checkout

* fetch depth zero

* clean up after changelog generator
2024-07-19 18:27:59 +02:00
renovate[bot]
8f54e3bfb7 Update dependency @types/d3-force to v3.0.10 2024-07-19 16:13:15 +00:00
renovate[bot]
18deed4fb7 Update dependency @types/babel__preset-env to v7.9.7 2024-07-19 15:40:43 +00:00
Eric Leijonmarck
248af65f9c Actionsets: Add ability for plugins to add actions for core actionsets (i.e. folders:edit) (#88776)
* initial commit

* Action sets stored
remove the dependancy for actionsets
got the actionsets registered
storing the permissions

* fix golanglinting

* remove unused struct field

* wip

* actionset registry for a plugin from the actionsetservice

* update to make declareactionset the primary way of plugin registration and modification

* declare actually extends actionsets

* tests fixed

* tests skipped

* skip tests

* skip tests

* skip tests

* skip tests

* change to warning instead

* remove step from pipeline to see if it fails due to plugin not registering

* reintroduce step but remove features dependancy

* add back the tests that were failing

* remove comments and another skip test

* fix a comment and remove unneeded changes

* fix and clean up, put the behaviour behind a feature toggle

* clean up

* fixing tests

* hard-code allowed action sets for plugins

* Apply suggestions from code review

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

* small cleanup

---------

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2024-07-19 16:16:23 +01:00
AvivGuiser
96c3e9c550 Alerting: Use stable identifier of a group when export to HCL (#90196)
* change the rule-group to be hashed when exporting to HCL

Signed-off-by: Aviv Guiser <avivguiser@gmail.com>

---------

Signed-off-by: Aviv Guiser <avivguiser@gmail.com>
2024-07-19 18:13:26 +03:00
Tom Ratcliffe
a61cd94a70 Alerting: Tidy up contact points/misc other tests' mock server behaviour (#90469) 2024-07-19 16:11:48 +01:00
renovate[bot]
c5775b3778 Update dependency @swc/helpers to v0.5.12 (#90670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 17:50:47 +03:00
renovate[bot]
21d1669bfc Update dependency @reduxjs/toolkit to v2.2.6 2024-07-19 14:29:02 +00:00
Matias Chomicki
66fb4d5f1a Combine responses: add support for frames with repeated field names (#90650)
* Combine responses: add support for frames with repeated field names

* Formatting
2024-07-19 14:26:06 +00:00
renovate[bot]
892d5d1b20 Update dependency @opentelemetry/semantic-conventions to v1.25.1 2024-07-19 13:56:31 +00:00
Isabel Matwawana
8c4c3103df Docs: added heading identifiers (#90564) 2024-07-19 09:40:01 -04:00
renovate[bot]
31d6689348 Update dependency @manypkg/get-packages to v2.2.2 2024-07-19 13:34:31 +00:00
renovate[bot]
c217cd7c85 Update dependency @grafana/lezer-traceql to v0.0.18 (#90657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 16:10:31 +03:00
Dominik Prokop
ec9e28567d Use SafeSerializableSceneObject in TemplateSrv (#90272)
* Test

* Opaque object

* Update scenes tentatively

* Betterer

* Fix dashboard data source

* Fix dashboard data source test

* Scenes bump

* Cleanup

* Ivan's feedback
2024-07-19 14:51:01 +02:00
renovate[bot]
093f4cea70 Update dependency @grafana/lezer-logql to v0.2.6 (#90655)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 15:48:24 +03:00
Ashley Harrison
c4570ecfdc Chore: Tweaks to support React 19 (#90653)
changes needed for react 19, mostly don't spread key
2024-07-19 13:40:02 +01:00
renovate[bot]
ec432fa314 Update dependency @floating-ui/react to v0.26.19 (#90614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-19 13:26:07 +01:00
Adela Almasan
0e4c9a2e36 Transformations: Fix filterByValue interpolation (#90631) 2024-07-19 07:21:41 -05:00
Jack Westbrook
893efb045b Grafana/ui: Fix types not being installed for consumers (#90463)
fix(grafana-ui): make sure exported types are available for consumers
2024-07-19 14:08:34 +02:00
Tom Ratcliffe
7829fced94 Alerting: Hide edit/view rule buttons according to deleting/creating state (#90375) 2024-07-19 09:55:12 +00:00
Sonia Aguilar
dbc755925d Alerting: Track central ash interactions (#90330)
* Track central ash interactions

* refactor
2024-07-19 11:11:29 +02:00
Nathan Vērzemnieks
f8c43d0bf3 Elasticsearch: Decouple backend from infra/tracing (#90528) 2024-07-19 09:26:10 +02:00
Nathan Vērzemnieks
9caa8151d8 Elasticsearch: Decouple backend from infra/log (#90527) 2024-07-19 08:51:18 +02:00
Nathan Vērzemnieks
269d54c984 Elasticsearch: Decouple backend from infra/http (#90408) 2024-07-19 08:01:41 +02:00
Dave Henderson
05b66aac5f notifications: Fix confused trace spans in SMTP client (#90559)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-18 23:20:40 -04:00
Alexander Weaver
418b077c59 Alerting: Integration testing for recording rules including writes (#90390)
* Add success case and tests for writer using metrics

* Use testable version of clock

* Assert a specific series was written

* Fix linter

* Fix manually constructed writer
2024-07-18 17:14:49 -05:00
Dave Henderson
f446096eb1 chore(deps): Upgrade openapi dep, remove replace directive (#90609)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-18 14:42:18 -04:00
Alexander Weaver
0e269db8a9 Alerting: Expose recordingWriter on ngalert (#90573)
Expose recordingWriter on ngalert
2024-07-18 13:24:06 -05:00
Michael Mandrus
71a97b925a CloudMigrations: Add and fix logging (#90616)
* add logs so we can see how long async processes take

* fix a bunch of error logs:

* fix logs again
2024-07-18 21:16:56 +03:00
Isabel Matwawana
e3150b4eb8 Docs: Refactor time series page - part 1 (#90098)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-18 13:19:06 -04:00
renovate[bot]
4de007d7b8 Update dependency @cypress/webpack-preprocessor to v6.0.2 2024-07-18 16:58:22 +00:00
Michael Mandrus
17228e5794 CloudMigrations: Handle cancelation during snapshot building and upload (#90612)
implement cancelation during upload and building
2024-07-18 12:55:27 -04:00
Adela Almasan
61d8910a5b Transformations: Fix filterByValue being applied to the wrong series (#90512) 2024-07-18 11:03:41 -05:00
Kevin Minehart
6a2a6b0fbc CI: replace publish image step with a much simpler one that supports LATEST (#90498)
* replace publish image step with a much simpler one that supports LATEST
2024-07-18 10:53:47 -05:00
Michael Mandrus
a43a538976 CloudMigrations: Fix issues discovered during end to end testing (#90562)
* improve error handling a retries during async operations

* fix use of contexts

* updates to how we call the folder api

* fix urls for gms

* more progress on the folder issue

* fix folders

* refactor for readability
2024-07-18 18:34:28 +03:00
Hugo Kiyodi Oshiro
5c966fd400 Plugins: Add logs to for plugin management actions (#90587)
* Plugins: Add logs to for plugin management actions

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-07-18 17:19:36 +02:00
Georges Chaudy
08c611c68b ResourceServer: Resource store sql backend (#90170) 2024-07-18 08:03:18 -07:00
Ryan McKinley
bb40fb342a Chore: go mod tidy + sum cleanup (#90576) 2024-07-18 07:48:21 -07:00
Ryan McKinley
6e39f24588 Storage: Update storage.Interface for backend (#90382) 2024-07-18 07:47:47 -07:00
Yuri Tseretyan
09e10ae9e0 Alerting: Update State history API Open API documentation (#89795) 2024-07-18 10:37:05 -04:00
Ivan Ortega Alba
f4c8a9ac1f QueryEditor: Break with Scenes because the default query is not empty string (#90583)
* Scenes: Upgrade to v5.4.1

- QueryVariable: Query is empty string by default [#837](https://github.com/grafana/scenes/pull/837) ([@ivanortegaalba](https://github.com/ivanortegaalba))
- fix(lazyloader): fix trying to run inexistent callbacks [#833](https://github.com/grafana/scenes/pull/833) ([@svennergr](https://github.com/svennergr))

* Adapt tests
2024-07-18 16:29:50 +03:00
kay delaney
5afb1c6ce0 Scenes: Save height as itemHeight for repeat panels (#90487) 2024-07-18 14:01:50 +01:00
Señor Performo - Leandro Melendez
19706bab61 docs: added video to gauge panel doc (#90484)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-18 08:39:47 -04:00
Kristin Laemmert
27b52b1507 ReplStore: Add support for round robin load balancing between multiple read replicas (#90530)
* ReplStore: Add support for multiple replicas and round-robin load balancing

* add check for zero-length repls list
2024-07-18 08:20:28 -04:00
Isabel Matwawana
2d152b7ec1 Docs: replace broken link (#90570) 2024-07-18 08:09:53 -04:00
renovate[bot]
d61dbae7fe Update babel monorepo 2024-07-18 12:01:07 +00:00
Josh Hunt
0a6f9aa3cb Chore: Remove Chore issue template (#90592) 2024-07-18 14:58:11 +03:00
Josh Hunt
9a06510490 E2C: Delete cloud migration token (#90548) 2024-07-18 12:38:20 +01:00
ismail simsek
f8645f73ea Prometheus: Improve expanding ruleIs with identifier label checking (#90336)
* define rule mapping type

* introduce a new mapping type

* add type comments

* add identifier check

* remove tests from wrong file

* add tests to the right file

* define function body

* unit tests and logic for getQueryLabelsForRuleName

* update logic of getRecordingRuleIdentifierIdx

* update logic and tests getRecordingRuleIdentifierIdx

* fix unit tests

* fix tests

* update how we return the options

* update message

* update type

* update expandRecordingRules unit tests

* remove identifier from end result

* fix unit tests once more

* remove fix action from expand rules warning

* remove generic type

* update warning text

* betterer
2024-07-18 13:17:33 +02:00
Josh Hunt
32232e44d2 E2C: Get Cloud Token status (#90525)
* E2C: Get Cloud Token status

* remove console.log
2024-07-18 09:48:06 +01:00
Josh Hunt
fefd3faef4 Chore: Remove unnecessary issue templates (#90482) 2024-07-18 08:35:32 +00:00
Andrew Hackmann
41ae376aa4 Influxdb: Fix toMetricFindValue function (#90514)
Improved toMetricFindValue to be quicker
2024-07-18 01:16:07 +03:00
Alexander Weaver
88ed77e7e8 Alerting: More graceful handling of NoData in recording rules (#90312)
* Handle NoData as its own case

* Debug

* Scalars parseable by CollectionReader

* fix linter

* Orgit add pkg/*git add pkg/* not and
2024-07-17 15:24:03 -05:00
Yuri Tseretyan
c3b9c9b239 Alerting: Send information about alert rule to data source in headers (#90344)
* add support of metadata to condition and adding it to request headers
* support for additional metadata when condition is built
* add additionall context to conditions: source and folder title
* add version
* use percent-encoding for header values
2024-07-17 22:55:12 +03:00
Ryan McKinley
b825700343 Chore: Skip flakey search test (#90553) 2024-07-17 21:14:59 +03:00
Kristina
044380493e Revert "Explore: Pass the dataframes along with the time range of the data" (#90551)
Revert "Explore: Pass the dataframes along with the time range of the data (#…"

This reverts commit 58285e37a2.
2024-07-17 12:58:07 -05:00
Ryan McKinley
f409f8c169 K8s/Dashboards: Implement dashboards as StorageBackend (#90295) 2024-07-17 10:49:23 -07:00
Artur Wierzbicki
9459e29775 Chore: change owner for pkg/services/queryhistory (#90550)
change owner for query history
2024-07-17 20:47:08 +03:00
Kristina
6eb695b258 Explore: Add setting for default time offset (#90401)
* Add setting for explore for a different time offset

* fix linter

* Add validation for duration value
2024-07-17 11:47:49 -05:00
Drew Slobodnjak
1fc57d8fd5 Transformations: Fix null for reduceSeriesToRows (#90508)
* Transformations: Fix null for reduceSeriesToRows

* Add tests with null data frames
2024-07-17 09:25:46 -07:00
Ivan Ortega Alba
bc2cdd82dc DataSourcePicker: Create new data source does not work for subpath (#90536) 2024-07-17 19:23:08 +03:00
Jean-Philippe Quéméner
283280f329 fix(querier): use most specific timerange available (#90540)
* fix(querier): use most specific timerange available

* return zero values
2024-07-17 20:22:45 +04:00
Michael Mandrus
9b7e9d992b CloudMigrations: Query GMS for a presigned upload url at upload time (#90505)
query GMS for an upload url at upload time
2024-07-17 11:53:21 -04:00
Yuri Tseretyan
970cafa20f Alerting: Time interval Delete API to check for usages in alert rules (#90500)
* Check if a time interval is used in alert rules before deleting it
* Add time interval to parameters of ListAlertRulesQuery and ListNotificationSettings of DbStore

== Refacorings == 
* refactor isMuteTimeInUse to accept a single route
* update getMuteTiming to not return err
* update delete to get the mute timing from config first
2024-07-17 10:53:54 -04:00
Tom Ratcliffe
79df1b1e10 Alerting: Remove some unused mock server methods (#90432)
Remove some unused mock server methods
2024-07-17 16:50:25 +02:00
Tom Ratcliffe
919bc47dba Alerting: Move alertmanager warning to consistent place within notification policies (#90521)
Move alertmanager warning to consistent place within notification policies
2024-07-17 16:46:00 +02:00
Sonia Aguilar
42c29cac0b Alerting: Use Runbook URL label everywhere and add validation in the alert rule… (#90523)
* Use Runbook URL label everywhere and add validation in the alert rule form for it

* remove validation in alert rule form and render link on detail view only when its a valid url
2024-07-17 16:40:17 +02:00
Ryan McKinley
07c2d886fa Storage: prepare in resource bytes in storage.Interface, not the backend (#90513)
* prepare in k8s

* prepare in k8s

* prepare in k8s

* simplify event creation

* decode the inputs
2024-07-17 07:40:03 -07:00
Andreas Christou
2616366a0a Prometheus: Reintroduce Azure audience override feature flag (#90339)
* Re-add feature flag with deprecation note

* Hide the field in frontend if ff disabled

* Block scope overriding if ff is disabled in backend

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

* Default toggle to true for now

* Update description

* Update prom tests

* Fix lint
2024-07-17 15:09:55 +01:00
lean.dev
7839903fef CloudMigrations: Sets default grafana domain to prod (#90526) 2024-07-17 10:48:23 -03:00
Ashley Harrison
334657e1cb Navigation: Move scroll behaviour to body (#89921)
* initial attempt at body scrolling

* fix login layout

* minor fixes

* "fix" some fixed position stuff

* remember scroll position in dashboard page

* fix unit tests

* expose chrome header height in runtime and fix connections sticky header

* fix panel edit in scenes

* fix unit tests

* make useChromeHeaderHeight backwards compatible, fix plugin details double scrollbar

* fix sticky behaviour in explore metrics

* handle when undefined

* deprecate scrollRef/scrollTop

* fix extra overflow on firefox
2024-07-17 13:48:47 +01:00
Alex Khomenko
ad6cf2ce4d Restore dashboards: Design review (#90468)
* Update singular case

* More copy & count fixes

* Translate success messages

* Update message

* Split no-deleted message
2024-07-17 15:00:46 +03:00
Ivan Ortega Alba
3559c5c297 Revert "Frontend: Use safe stringifier in parseBody" (#90522)
Revert "Frontend: Use safe stringifier in parseBody (#90047)"

This reverts commit 434f386982.
2024-07-17 14:00:01 +03:00
Joanna
8f376a302b UI: Align the icon in the Alert (#90461)
* UI: Align the `icon` in the `Alert`

* feat: align icon with one line text

* chore: prettier imports fix

* chore: revert imports

* feat: remove alignSelf & position the icon

* chore: clean up
2024-07-17 11:48:57 +01:00
Esteban Beltran
fa2506300f Plugins: Update plugin.json schema to correctly validate version ranges and single digit versions (#90517) 2024-07-17 11:20:25 +02:00
Piotr Jamróz
58285e37a2 Explore: Pass the dataframes along with the time range of the data (#90259)
* Use data time range for rendering instead of selected range from the picker

* Update CustomContainer to use data time range

* Update test
2024-07-17 11:05:09 +02:00
Edvard Falkskär
c41f3394a4 InteractiveTable: Add initial sort prop (#89937) 2024-07-17 09:37:30 +01:00
Dafydd
14cd98d7fb Update ephemeral instances workflow (#90428)
* use custom action from ephemeral workflow repo

* update codeowners

* delete obsolete workflow
2024-07-17 09:18:50 +01:00
Joey
995425f022 Tempo: Only generate query for query history if there are filters (#90471)
* Only generate query if there are filters

* Move check
2024-07-17 09:15:41 +01:00
Gabriel MABILLE
ff90bf0ca4 Docs: Update basic roles permissions using curl (#90485)
* Docs: Update basic roles permissions using curl

* Fix comments

* Remove localhost
2024-07-17 09:15:36 +02:00
antonio
2186676f55 alerting:docs>google chat (#90257)
* alerting:docs>google chat

* pretty

* weight

* changed weight

* typo
2024-07-17 08:22:47 +02:00
Serge Zaitsev
f5da9edbba Chore: Remove unused method in db.DB (#90433)
* remove unused method

* clean up tests
2024-07-17 08:17:23 +02:00
Isabel Matwawana
c13002ee8c Docs: make heading fix in content.ts file (#90473) 2024-07-16 18:25:29 -07:00
Adela Almasan
200eb4f774 Canvas: Fix data links migration (#90504) 2024-07-16 15:56:21 -05:00
Michael Mandrus
83b309c724 CloudMigrations: Don't migrate dashboards that are soft-deleted (#90454)
* skip dashboards that are soft-deleted while building snapshots

* add unit test
2024-07-16 22:33:11 +03:00
Haris Rozajac
8e4ec47114 Explore: Docs for logs pinning and filtering in content outline (#90281)
* Docs for logs pinning and filtering

* Note about log volume histogram

* Update docs/sources/explore/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Update docs/sources/explore/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Update docs/sources/explore/_index.md

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

---------

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2024-07-16 13:24:06 -06:00
Andrew Hackmann
319a874033 MSSQL: Password auth for Azure AD (#89746)
* Password auth for Azure AD

* rename auth fields

* add azure flag for client password cred enabled

* prettier

* rename flag

* Update go.mod

* Update public/app/plugins/datasource/mssql/azureauth/AzureCredentialsForm.tsx

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* Apply suggestions from code review

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>

* update package

* go mod

* prettier

* remove password

* gowork

* remove unused env test

* linter

---------

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2024-07-16 14:08:51 -05:00
Galen Kistler
ac21fa8e18 Table: Update selected row color (#90364)
* chore: update table highlighted row color
2024-07-16 13:44:55 -05:00
Usman Ahmad
677d2a8b70 highlighting the part of the Grafana enterprise section so easir for … (#90177)
highlighting the part of the Grafana enterprise section so easir for users to find it
2024-07-16 20:16:23 +02:00
Galen Kistler
bb52c340cc Scrollbar: fix scrollTo being called on stale reference (#90346)
* fix: fix scrollTo being called on stale reference
2024-07-16 11:34:29 -05:00
Drew Slobodnjak
4de34ac246 Table: Fix justifyContent with cellLink overflow (#90353)
* Table: Fix justifyContent with cellLink overflow

* Add textAlign to fix failing test
2024-07-16 09:26:06 -07:00
renovate[bot]
4ef6ff7c44 Update dependency @grafana/scenes to v5.4.0 (#90490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 19:02:32 +03:00
Michael Mandrus
6585ed16e5 Chore: Fix CloudMigration unit tests (#90489)
remove parallel tests for things that deal with the database
2024-07-16 18:50:22 +03:00
Ryan McKinley
f3f9cc2e92 Scopes: Avoid dots in example names (#90460) 2024-07-16 18:30:36 +03:00
kay delaney
e7f9d592f0 Revert "Scenes: Fixes issue with panel repeat height calculation (#90221)" (#90478)
This reverts commit 5cab595f45.
2024-07-16 17:19:51 +02:00
Ryan McKinley
030188831d Storage: Use Error property for error handling rather than Status (#90416)
replace status with error
2024-07-16 07:43:15 -07:00
maicon
93221f12da Unified Storage: Fix Compare method (#90455)
* Unified Storage: Fix Compare method

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2024-07-16 11:36:21 -03:00
Lucy Chen
1c031277af Share Drawer: Make adding menu items dynamic (#90245)
make menu dynamic
2024-07-16 10:20:26 -04:00
Matthew Jacobson
b7f422b68d Alerting: Receiver API Get+List+Delete (#90384) 2024-07-16 10:02:16 -04:00
Señor Performo - Leandro Melendez
efdb08ed8c docs: updated table panel visualization (#90310)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-16 09:48:59 -04:00
Summer
599f05c5af Chore: increase lint timeout (#90276) 2024-07-16 09:44:43 -04:00
Matias Chomicki
8547148623 Combine responses: do not combine frames with different names (#90464) 2024-07-16 16:34:08 +03:00
Nathan Marrs
1ee9df8ac6 Docs: Update group to nested tables transformation header to match naming in UI (#90458) 2024-07-16 09:31:17 -04:00
Kat Yang
881d9c0b83 Fix: Display unit in Overview Tab (#90002)
* fix: display metric name suffix instead of unknown

* chore: add documentation comment; remove unecessary text

* fix: create helper function getUnitFromMetric()

* refactor: make getUnitFromMetric() not use getUnit, return null if unable to identify unit

* test: add test for getUnitFromMetric()

* chore: add documentation comments to functions that get unit

* chore: add comment for tests

* chore: fix imports

* fix: display  if unable to determine metric

* Update public/app/features/trails/ActionTabs/MetricOverviewScene.tsx

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* fix: update the translation files for drone

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2024-07-16 09:16:55 -04:00
Haris Rozajac
51afb2e484 Make content outline visible and in expanded mode by default (#90283)
* Make content outline visible and in expanded mode by default

* Clean up unused args

* Save content outline visibility in local storage

* Add test

* Expanded state relies on local storage;
2024-07-16 07:15:30 -06:00
Michael Mandrus
6ff21726b7 CloudMigrations: Query GMS for snapshot status with a results offset (#90453)
* query GMS for status with an offset

* remove unused state
2024-07-16 09:04:21 -04:00
Piotr Jamróz
f14ba32ea6 Query Library: Use current namespace when calling API (#90423)
* Use the current namespace

* Enable PeakQ API

* Enable PeakQ API when Query API is enabled

* Enable PeakQ API when Query API & Query Library are enabled
2024-07-16 11:50:38 +02:00
Piotr Jamróz
6750e881e3 Query History: Use a search index on new queries to filter in mixed data sources (#88979)
* Add search index table

* Stab a test

* Add more tests

* Add basic index

* Switch to UID and add a test for the index

* Improve tests coverage

* Remove redundant whitespaces

* Load all data source APIs when query history is loaded

* Fix column type

* Fix migration

* Clean-up the index

* Fix linting

* Fix migrations

* Fix migrations

* Fix migrations

* Rename index to details
2024-07-16 11:47:21 +02:00
Piotr Jamróz
6d9b8225aa Query Library: Use a tooltip to show full query (#90425)
Use a tooltip to show full query
2024-07-16 09:58:31 +02:00
Tobias Skarhed
4c9cb63823 PanelShortcuts: Set attention onMouseEnter (#90435)
Add onMouseEnter to PanelChrome
2024-07-16 09:03:38 +02:00
Haris Rozajac
118597d80f Explore-Query Library: Close drawer when clicking on Run query (#90404)
Close drawer when clicking on Run query
2024-07-15 15:43:22 -06:00
Yuri Tseretyan
9c05b30489 Chore: Add more logs and tracing to hysteresis flows (#90369) 2024-07-15 13:38:20 -04:00
Andriy
3c95f0d2a5 feat: add adobe analytics and cloudflare to the enterprise plugins list (#90222) 2024-07-15 18:57:56 +02:00
Darren Janeczek
698f8e2589 ExploreMetrics: disable route if disabled (or missing permissions) (#90278)
* fix: ExploreMetrics require `datasources:explore`

* fix: don't allow routing to explore/metrics if not enabled
2024-07-15 17:35:20 +02:00
Josh Hunt
8f4b76a3de RestoreDashboards: Hide restore/delete actions when no items are selected (#90431)
* RecentlyDeleted: Only show actions when items selected

* RestoreDashboards: Hide actions when no items are selected
2024-07-15 15:38:31 +01:00
Isabel Matwawana
5416444484 Docs: Update dashboard URL variables docs (#90395)
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-07-15 09:36:10 -04:00
Michael Mandrus
542a1bf3ac CloudMigrations: Query Grafana Migration Status for status while the snapshot is in the cloud (#90314)
* implement querying gms for snapshot status

* add some documentation

* provide snapshot resources after snapshot is created

* add rate limiting to backend

* fix compilation error

* fix typo

* add unit tests

* finish merge

* lint

* swagger gen

* more testing

* remove duplicate test

* address a couple PR comments

* update switch statement to a map

* add timeouts to gms client through the http client

* remove extra whitespace

* put method back where it was so the PR is less confusing

* fix tests

* add todo

* fix final unit test
2024-07-15 09:22:57 -04:00
Joey
5beaae8561 FlameGraph: Remove flameGraphItemCollapsing feature toggle (#90190)
Remove feature toggle
2024-07-15 13:45:41 +01:00
Laura Benz
29ac7fd3c4 RestoreDashboards: Improved Empty and Loading states (#89825)
* fix: empty state blocking page completely

* refactor: replace epmty state implementation

* refactor: first step to fix flickering

* refactor: fix TS errors and add translations

* refactor

* tidy up search emptyState default value

* other wip

* clean up

* undo change we made to ssm

* remove log

* comment

* move empty state into seperate file

* remove log

* undo change:

---------

Co-authored-by: joshhunt <josh@trtr.co>
2024-07-15 13:45:33 +03:00
Laura Fernández
cd6f018c95 RestoreDashboards: Add event tracking (#90321) 2024-07-15 12:00:29 +02:00
Sonia Aguilar
73336362a8 Alerting: Fix silencing from policy instances (#90417)
Fix silencing from policy instances
2024-07-15 11:27:46 +02:00
Andrej Ocenas
aabb4286e3 Correlations: Fix wrong target data source name in the form (#90340) 2024-07-15 11:27:32 +02:00
Ivan Ortega Alba
51fab9adf4 SoloPanel: Avoid fatal error when panelId correspond to a row (#90271) 2024-07-15 10:29:26 +02:00
Fabrizio
612ebf5508 Dynatrace: Add to list of DS with custom label logic (#90258) 2024-07-15 10:18:54 +02:00
Tom Ratcliffe
0547a9ed88 Alerting: Remove unneeded uses of setBackendSrv in alerting tests (#90380) 2024-07-15 09:09:24 +01:00
Joseph Perez
c77015b329 Docs: Fix broken links resulting from plugin-tools site reorganization (#90391)
* Docs: Fix broken links resulting from plugin-tools site reorganization

* Fix additional link

* Update docs/sources/whatsnew/whats-new-in-v7-0.md

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-13 10:59:27 -07:00
Joseph Perez
0ecff76600 Docs: Edit of several Backend topics (part 5 of doc quality project) (#89073)
* Edit of several Backend topics (part 5 of doc quality project)

* Proofread of files

* Prettier fix

* Update contribute/backend/upgrading-dependencies.md

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

* Update contribute/backend/README.md

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

* Update contribute/backend/README.md

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

* Update contribute/backend/recommended-practices.md

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

* Update contribute/backend/recommended-practices.md

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

* Update contribute/backend/recommended-practices.md

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

* Update contribute/backend/recommended-practices.md

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

* Update contribute/backend/recommended-practices.md

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

* Update contribute/backend/recommended-practices.md

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

* Rename doc filenames with gerunds

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-13 10:37:47 -07:00
Georges Chaudy
ff7c0edd64 ResourceServer: Update twice should return an ErrOptimisticLockingFailed (#90378)
Update twice should return an ErrOptimisticLockingFailed
2024-07-12 23:01:24 +00:00
Señor Performo - Leandro Melendez
216d99439b docs: updated logs panel visualization (#90352)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-12 16:47:23 -04:00
Señor Performo - Leandro Melendez
ef624c78be docs: updated time series panel visualization (#90345)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-12 16:06:01 -04:00
Isabella Siu
9a8be1785a CloudWatch: Fix raw queries with dimensions set (#90348) 2024-07-12 14:24:09 -04:00
Santiago
e097ffc771 Alerting: Update grafana/alerting dependency (#90365)
* update grafana/alerting to latest main
* update alertmanager to  66ec17e3aa45
2024-07-12 14:05:17 -04:00
Alexander Weaver
b3d863c11e Expr: Make math expression scalars compliant with dataplane contract (#90350)
* Specify frame type for scalars arbitrarily

* Update alerting tests which assert on entire dataframe fields
2024-07-12 12:52:19 -05:00
Haris Rozajac
e0416cc0f8 DashGPT: Disable GenAI title and description buttons for empty dashboards (#90341)
* Disable genai title and description buttons when dashboard doesn't have at least one panel with a title or description

* Fix test

* Additional tooltip tests

* address pr feedback

* Fix test: Use const for panel title

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-12 11:49:12 -06:00
Adela Almasan
9bc68562d4 Canvas: Element level data links (#89079) 2024-07-12 12:02:49 -05:00
Jev Forsberg
d781ec2daa Automation: Verify DEB and RPM packages (#90146)
* baldm0mma/verify_aptyum/ add verify_linux_packages_step

* baldm0mma/verify_aptyum/ add name and image

* baldm0mma/verify_aptyum/ add commands

* baldm0mma/verify_aptyum/ add test pipeline

* baldm0mma/verify_aptyum/ update deps for verify_linux_packages_step

* baldm0mma/verify_aptyum/ update ubuntu image

* baldm0mma/verify_aptyum/ add rockylinux9 image

* baldm0mma/verify_aptyum/ update to verify_linux_DEB_packages_step naming

* baldm0mma/verify_aptyum/ add verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update commands for RPM check

* baldm0mma/verify_aptyum/ update test pipeline

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update annos

* baldm0mma/verify_aptyum/ update args

* baldm0mma/verify_aptyum/ add arg to verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ update oss_steps

* baldm0mma/verify_aptyum/ update deps args

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ make format-drone

* baldm0mma/verify_aptyum/ update sec hash

* baldm0mma/verify_aptyum/ update drone

* baldm0mma/verify_aptyum/ update function styles

* baldm0mma/verify_aptyum/ revert changes

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ redirect install logs

* baldm0mma/verify_aptyum/ restructure args

* baldm0mma/verify_aptyum/ update verify_linux_DEB_packages_step

* baldm0mma/verify_aptyum/ make format drone

* baldm0mma/verify_aptyum/ update verify_linux_RPM_packages_step

* baldm0mma/verify_aptyum/ add retry_command

* baldm0mma/verify_aptyum/ make drone

* baldm0mma/verify_aptyum/ update attempts to 10 minutes

* baldm0mma/verify_aptyum/ handle is_preview

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

* baldm0mma/verify_aptyum/ revert is_preview

* baldm0mma/verify_aptyum/ update to rpm repo download

* baldm0mma/verify_aptyum/ add back logging for rpm

* baldm0mma/verify_aptyum/ revert to working

* baldm0mma/verify_aptyum/ update to use RPM repo

* baldm0mma/verify_aptyum/ remove redirect for logging

* baldm0mma/verify_aptyum/ rem gpg check

* baldm0mma/verify_aptyum/ fromat drone

* baldm0mma/verify_aptyum/ rem comment

* baldm0mma/verify_aptyum/ add single comment on timing
2024-07-12 10:54:03 -06:00
Matthew Jacobson
ba800692c6 Alerting: Persist AlertInstance ResolvedAt & LastSentAt (#89135)
* Alerting: Persist AlertInstance ResolvedAt & LastSentAt

* Fix test

* Modify existing tests

* Fix merge conflicts from nullable LastSentAt & ResolvedAt
2024-07-12 12:26:58 -04:00
Agnès Toulet
e1f030592f Chore: Fix Go deps file (#90379)
* Chore: Fix Go deps file

* Update go.work.sum
2024-07-12 18:54:06 +03:00
Ashley Harrison
c13f804ef9 Storybook: Fix missing favorite and grafana icons (#90376)
ignore "fa fa-spinner" properly
2024-07-12 18:49:23 +03:00
Matthew Jacobson
b7767c79e7 Alerting: Fix contact point export 500 error and notifications/receivers missing settings (#90342)
* Regression test

* Fix 500 error when exporting redacted receivers

* Fix tests to check permissions
2024-07-12 11:42:22 -04:00
Tom Ratcliffe
5d8ca38b9b Alerting: Fix Recording Rules creation issues (#90362) 2024-07-12 15:52:45 +01:00
Kristin Laemmert
8a6107cd35 DashboardStore: Use ReplDB and get dashboard quotas from the ReadReplica (#90235)
* Use ReplDB in dashboard store and update all fixtures - no other changes

* just moving dashboard counts for now

* find the missing test fixture
2024-07-12 10:47:49 -04:00
Gilles De Mey
e64ef2245c Alerting: Re-organise rule group hooks (#90368) 2024-07-12 16:33:37 +02:00
Galen Kistler
8400b54a53 Table: Fix state bug with initialRowIndex (#90308)
* fix: fix state bug

---------

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-12 09:14:47 -05:00
Brendan O'Handley
da2962418d Explore metrics: Use state for variables to fix labels loading bug (#90017)
* use variable state for loading labels

* UI fix for missing metadata fields

* remove extra space

* add <Trans> for betterer

* import Trans from core, this will need to be addressed when we externalize explore metrics

* make i18n-extract for drone
2024-07-12 08:57:00 -05:00
Ashley Harrison
a6f9336ea1 Chore: SCSS cleanup (#90366)
* migrate _type styles

* migrate queryEditor styles
2024-07-12 14:47:12 +01:00
Galen Kistler
1367d5d721 Logs: Add log line to content outline when clicking on datalinks (#90207)
* feat: add bg color to pinned logs, pin logs when opening datalinks
2024-07-12 08:14:53 -05:00
Dominik Prokop
2d35b11323 DashboardScene: Add rows keyboard shortcuts (#90275)
* DashboardScene: Add rows keyboard shortcuts

* e2e test
2024-07-12 15:13:22 +02:00
Todd Treece
3a51260ef9 K8s: Add file store tests (#90151) 2024-07-12 08:54:00 -04:00
Ashley Harrison
8d858b1a82 Chore: Migrate more SCSS (#90224)
* tidy up alerts scss

* clean up alerting page rules

* remove mixins
2024-07-12 13:49:59 +01:00
Todd Treece
66a384247c Storage: Fix list in mode 4 (#90354) 2024-07-12 08:20:13 -04:00
Ezequiel Victorero
d3a75a42a0 Chore: Update swagger docs (#90154) 2024-07-12 09:08:44 -03:00
Josh Hunt
03311f6c6c I18n: Memoize formatDate/formatDuration methods because they're prett… (#90338)
I18n: Memoize formatDate/formatDuration methods because they're pretty slow!!
2024-07-12 10:38:47 +01:00
Ashley Harrison
b321dc7280 Chore: Migrate from react-beautiful-dnd to @hello-pangea/dnd (#90328)
* migrate from react-beautiful-dnd to @hello-pangea/dnd

* revert comment
2024-07-12 10:23:29 +01:00
gonvee
b9f2e883b0 Admin: Fixes an issue where user accounts could not be enabled (#88117)
Fix: unable to enable user
2024-07-12 12:19:32 +03:00
Aaron Godin
7e767e40a9 IAM: Fix logic for enabling a user (#90309)
fix: correct logic on enabling a disabled user account
2024-07-12 10:54:27 +02:00
Charandas
4abb4d1662 ExtJwt: don't log verify errors as they spam for grafana-agent (#90351)
* ExtJwt: don't log verify errors as they spam for grafana-agent

* remove dead code

* revert unintended change

* revert unintended change
2024-07-11 18:23:43 -07:00
Ryan McKinley
d2bc4f3255 DualWrite: Cleanup and centralize the dual write creation (#90013) 2024-07-11 23:23:31 +03:00
O Yves Chan
4b5b599982 Azure: Add new Azure infrastructure dashboards (#88869)
* add azure infra dashboards

* ran yarn prettier:write
2024-07-11 21:10:13 +01:00
Alexander Weaver
111ebd4fb2 Alerting: Create integration testing infra for recording rules (#90306)
* Create some integration testing infra for RRs

* whoops

* Require no error in responding

* fix linter

* Panic, no need to pass testing around

* Extend status test
2024-07-11 14:59:52 -05:00
Alexander Weaver
ab32183e18 Alerting: Track recording rule health and last eval info ephemerally (#90247)
* Track health and last eval info

* Read method for status

* Minor tests
2024-07-11 14:05:09 -05:00
Gilles De Mey
6874202dfa Alerting: Implement "rename / move / update" for useProduceNewRuleGroup (#89706) 2024-07-11 20:12:19 +03:00
Tom Ratcliffe
f140594cf1 Alerting: Make whitespace more visible on labels (#90223) 2024-07-11 17:33:27 +01:00
Leonor Oliveira
d0afa60feb Remove unused metric (#90327) 2024-07-11 15:31:37 +02:00
Santiago
3bb861b9f0 Alerting: Remove empty/namespace labels when sending alerts to the remote Alertmanager (#90284)
* Alerting: Remove empty/namespace labels when sending alerts to the remote Alertmanager

* update tests

* fix typo in comment
2024-07-11 15:20:12 +02:00
Nihal
c1d9e793be Metrics: Fix internal metrics endpoint not accessible from browser if basic auth is enabled (#86904)
* add WWW-Authenticate header in the http response of /metrics endpoint in case of wrong basic auth credentials

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

* added change log for the change fixing the issue https://github.com/grafana/grafana/issues/86902

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

* Update CHANGELOG.md

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-07-11 14:55:48 +02:00
Bruno
420ff1d07b Cloud migration: upload snapshot files using presigned url (#90273)
* Cloud migration: upload snapshot files using presigned url

* log error if index file cannot be closed

* log error if file cannot be closed in uploadUsingPresignedURL
2024-07-11 09:32:02 -03:00
Misi
69c5fa8361 IDToken: Add current user's Username and UID to the ID token (#90240)
* Set claims.Rest.Login from the IDService

* Add UID to the ID token
2024-07-11 14:25:30 +02:00
Leonor Oliveira
b75276c641 Fix outcome metric (#90322) 2024-07-11 13:50:20 +02:00
Pepe Cano
d7c844b5b6 Alerting UX: copy changes in Groups view (#90173)
* UI and help copy changes in Alerting Groups view

* Alerting Groups view: change subtitle

* Rename Alerting page title: `Groups` to `Active notifications`

* Update pseudo-local

* update betterer

* Extract translation through `make i18n-extract`
2024-07-11 13:33:41 +02:00
Mihai Doarna
944a3a9818 Auth: Temporarily remove LDAP from UI until its config page is ready (#90323)
temporarily remove LDAP from UI until its config page is ready
2024-07-11 13:54:17 +03:00
Mihai Doarna
bbd1611265 SSO: Register LDAP service if LDAP is enabled in SSO settings (#90228)
register LDAP service if LDAP is enabled in SSO settings
2024-07-11 13:53:43 +03:00
Piotr Jamróz
b09798c3fa Explore: Fix new-old-new query history bug (#90214)
* Remove cancelActiveListeners() and delay()

* Wait for handle history to resolve

* Do not sync from URL when state changes

---------

Co-authored-by: harisrozajac <haris.rozajac12@gmail.com>
2024-07-11 12:37:47 +02:00
Alex Khomenko
62494248e3 Restore dashboards: Add RBAC (#90270)
* Restore dashboards: Add RBAC

* Add check to navtree

* Prevent non-admins from searching deleted dbs

* Add check to the route

* Cleanup

* Update translations

* Update API permissions

* Correct permissions

* Update warning message

* Update translation

* Return 401 for deleted query without admin role
2024-07-11 13:20:04 +03:00
Sonia Aguilar
c76b490c57 Alerting: Central alert history part4 (#90088)
* Implement EventDetails for expanded rows and pagination on the events list

* Add test for getPanelDataForRule function

* prettier

* refactor EventState component

* create interfaces for props

* Add missing translations

* Update some comments

* Add plus button in alertrulename , to add it into the filter

* Add plus button to add filters from the list labels and alert name

* Add clear labels filter button

* run prettier

* fix RBAC checks

* Update AlertLabels onLabelClick functionality

* add limit=0 in useCombinedRule call

* Add filter by state

* remove plus button in labels

* Fix state filter

* Add filter by previous state

* fix some errors after solving conflicts

* Add comments and remove some type assertions

* Update the number of transitions calculation to be for each instance

* Add tests for state filters

* remove type assertion

* Address review comments

* Update returnTo prop in alert list view url

* Update translations

* address review comments

* prettier

* update cursor to pointer

* Address Deyan review comments

* address review pr comments from Deyan

* fix label styles

* Visualize expanded row as a state graph and address some pr review comments

* Add warning when limit of events is reached and rename onClickLabel

* Update texts

* Fix translations

* Update some Labels in the expanded states visualization

* move getPanelDataForRule to a separate file

* Add header to the list of events

* Move HistoryErrorMessage to a separate file

* remove getPanelDataForRule function and test

* add comment

* fitler by instance label results shown inthe state chart

* remove defaults.ini changes

* fix having single event on time state chart

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-07-11 12:09:52 +02:00
David Harris
92ada4eb7c chore: add new data source request template (#86912)
* chore: add new data source request template

* Update 6-data_source_request.yaml

Add placeholder text for Use case field

* Update .github/ISSUE_TEMPLATE/6-data_source_request.yaml

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>

---------

Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
2024-07-11 10:55:12 +01:00
Agnès Toulet
fb8e98bcc9 PDF: Add go dependency (#89949)
Chore: Add Enterprise library
2024-07-11 11:50:40 +02:00
Laura Benz
8031ef1aac Dashboard settings: Refactor delete modals (#90279)
* refactor: add translatable elements and confirmation text

* refactor: add translatable element

* refactor: add translatable element

* refactor: run i18n extraction

* refactor: add translatable elements
2024-07-11 11:47:28 +02:00
Andre Pereira
4eb09789c1 Tempo: Virtualize tags select to improve performance (#90269)
* Virtualize tags select to improve performance

* Fix tests

* Fix tests

* Fix tests
2024-07-11 10:45:20 +01:00
Hugo Kiyodi Oshiro
0a1b9f94d5 Plugins: Improve levitate / breaking changes report in grafana/grafana (#89822)
* Plugins: Add gcloud auth and usage to levitate workflow

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-07-11 11:38:43 +02:00
Charandas
57e2a56876 K8s: fix tracer init by moving Config() above it (#90311) 2024-07-11 00:57:58 +03:00
Kevin Minehart
a28db90dd5 CI: fix release pr condition (#90299)
* Release comms should only run when the source PR is

* Fix release-comms workflow condition
2024-07-10 23:17:19 +03:00
Adela Almasan
8989ac4a0c Canvas: Improved tooltip (#90162)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-07-10 14:52:15 -05:00
Stephanie Hingtgen
bb187ce4b1 K8s: Match status codes from single tenant (#90153)
Co-authored-by: Jean-Philippe Quémémer <jeanphilippe.quemener@grafana.com>
2024-07-10 20:48:02 +02:00
Larissa Wandzura
936b3a7a5d Docs: Updated the Query inspector page (#90249)
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2024-07-10 13:44:31 -05:00
Kevin Minehart
f411d85749 CI: remove missing dependency from workflow action (#90285)
remove missing dep from workflow action
2024-07-10 13:03:49 -05:00
Nathan Marrs
3ca7976ee5 Transformations: Promote group to nested table as generally available (#90253) 2024-07-10 10:08:41 -07:00
Ryan McKinley
2bb66209ca Chore: make protobuf (#90282) 2024-07-10 19:19:21 +03:00
Marcus Efraimsson
2cf3a4d9ee API Server: Override k8s api server profile contention flag with custom ones (#90238)
Upgrades sdk ro v0.238.0
2024-07-10 17:27:51 +02:00
Serge Zaitsev
117390e88d Chore: Add package.json to changelog github action (#90267)
add package.json
2024-07-10 15:43:58 +02:00
Michael Mandrus
317da43a84 CloudMigration: Provide a stats rollup in the GetSnapshot response (#90252)
* order session list descending

* add snapshot status method to store

* query stats while retrieving snapshot

* return stats in dto

* swagger

* fix tests

* commit results of bingo get

* fix swagger

* minor improvement

* fix typo

* forgot a file
2024-07-10 08:46:38 -04:00
Andre Pereira
a3dfc894f7 Tempo: Require streaming to be enabled (#90264)
Revert previous change
2024-07-10 12:02:30 +01:00
Serge Zaitsev
c5f903f6dd Chore: Add changelog github action (#90183)
* add changelog github action

* tabs vs spaces

* better disable release, even in draft

* add codeowners
2024-07-10 12:32:06 +02:00
Andreas Christou
bba26f8e13 Azure: Fix default subscription setting (#90185)
* Ensure default subscription is set

* Include some info for when the default subscription is required

* Rename settings mock

- Add mockDatasourceSettings function

* Add MonitorConfig test

* Revert "Rename settings mock"

- Avoid issues when backporting

* Remove description

* Remove required field

* Remove unused import
2024-07-10 11:26:49 +01:00
Giuseppe Guerra
9216a3df7d Plugins: Remove datasourceQueryMultiStatus feature toggle (#90191)
* Remove datasourceQueryMultiStatus feature toggle

* PR review suggestion
2024-07-10 11:15:10 +02:00
Misi
4e03ca5c1c Auth: Remove role_attribute_path from Azure AD config UI (#90227)
Remove role_attribute_path from Azure AD config UI
2024-07-10 10:12:02 +02:00
Michael Mandrus
021a9400ab Chore: Commit results of bingo get (#90256)
commit results of bingo get
2024-07-10 10:36:59 +03:00
Ryan McKinley
079f0715aa ResourceServer: Add resource server protobuf and wrapper (#90007) 2024-07-09 15:08:13 -07:00
Davidson Francis
05ce16cf7b Docs: Fix link to send report API (#90242)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-07-09 17:08:43 -04:00
Andreas Christou
3db2badae5 GCP: Update GKE monitoring dashboard (#90091)
Update GKE dashboard
2024-07-09 14:56:14 -04:00
Kim Nylander
2b907c0a2d [DOC] Fix broken links in profiles and traces content (#90237) 2024-07-09 18:17:43 +01:00
Esteban Beltran
1269e50042 Chore: Fix flaky frontend e2e tests with the explore page (#90184)
* Chore: Fix flaky frontend e2e tests with the explore page

* Use selector

* Add checks to scenes tests

* simplify code
2024-07-09 18:56:11 +02:00
Fabrizio
13be47f903 Tempo: Add toggle for streaming (#88685)
* first implementation

* Linting

* Fix tests

* Trigger CI

* Renaming

* Linting

* Trigger CI

* Fix tests

* Add live test for streaming

* Trigger CI

* Chores

* Fix broken test

* Chores

* Improve tests

* Linting

* Address PR comments

* Renaming

* Add info alert

* Linting

* Linting

* Check also feature toggle

* Fix tests

* Added link to streaming config section and updated copy

* Require streaming to be specifically disabled

---------

Co-authored-by: André Pereira <adrapereira@gmail.com>
2024-07-09 17:44:19 +01:00
Marcus Efraimsson
fc8a5cf468 Profiling: Enhance configuration and docs (#90048)
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-09 17:48:16 +02:00
Haris Rozajac
8a6e92c0c9 Explore: Interaction tracking for logs pinning and filtering in content outline (#90213)
* Add interaction tracking

* Move reportInteraction out of scrollIntoView to improve readability

* move activateFilter logic inside handleItemClicked
2024-07-09 08:17:50 -07:00
kay delaney
434f386982 Frontend: Use safe stringifier in parseBody (#90047)
* Frontend: Use safe stringifier in parseBody

Closes #88064
2024-07-09 16:15:59 +01:00
kay delaney
5cab595f45 Scenes: Fixes issue with panel repeat height calculation (#90221)
* Scenes: Fixes issue with panel repeat height calculation
2024-07-09 16:03:32 +01:00
Will Browne
343d6f8a0c Plugins: Support > 1 levels of plugin dependencies (#90174)
* do it

* prevent loops

* change to sync.Map
2024-07-09 15:46:30 +01:00
Gilles De Mey
4f3fb83b0a Alerting: Refactor PromQL-style matcher parsing (#90129)
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2024-07-09 17:02:08 +03:00
Jack Baldry
daf7e64c0a Fix broken link (#90216) 2024-07-09 15:02:01 +01:00
Alex Khomenko
b3fa2821cc Pin nav items: Instrument user events (#90212)
* Pin nav items: Instrument user events

* Send item path
2024-07-09 16:16:11 +03:00
Marcus Efraimsson
c8af659f02 Plugins: Enhanced plugin instrumentation (#90199)
* Plugins: Enhanced plugin instrumentation

* use backend.CallResourceResponseSenderFunc

* sdk v0.237.0

* support admission control

* cover all handlers in log and metrics middlewares

* fix after review
2024-07-09 15:03:46 +02:00
ismail simsek
2a4a73e03d Explore Metrics: Save and restore the breakdown layout view from LocalStorage (#90202)
* save and restore the breakdown layout view from localstorage

* Update public/app/features/trails/MetricScene.tsx

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>

* add type guard

* remove unused import

---------

Co-authored-by: Darren Janeczek <38694490+darrenjaneczek@users.noreply.github.com>
2024-07-09 14:22:11 +02:00
Arati R
ecadd99456 SearchV2: Support soft deletion (#90217)
* soft delete
* Fix bench test
 Co-authored-by:  Bruno Abrantes <bruno@brunoabrantes.com>
* Add integration test for soft deletion

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2024-07-09 14:17:27 +02:00
Galen Kistler
20181425e4 Table: Prevent runtime error when resizing columns with onColumnResize (#89862)
fix: prevent runtime error when resizing columns
2024-07-09 07:08:35 -05:00
Ashley Harrison
8444c7760c Chore: Remove deprecated SCSS styles (#90187)
clean up infobox styles
2024-07-09 12:53:43 +01:00
ismail simsek
7f020dce05 Chore: Fix scrolling issue after selecting a metric with a lot of labels (#90195)
remove minHeight
2024-07-09 13:32:32 +02:00
Gilles De Mey
b7910ade97 Alerting: Allow future relative time (#89405) 2024-07-09 13:18:24 +02:00
Jack Westbrook
d8137083d9 Grafana/data: Remove barrel files part 3 (#90001)
* chore(grafana-data): remove monac and theme barrel files, clean up imports and exports

* chore(grafana-data): remove query barrel file and update imports / exports

* chore(grafana-data): remove text and events barrel files, update imports n exports

* chore(alerting): fix grafana/data imports pointing to nested barrel files

* chore(grafana-data): delete unused text/index.ts

* chore(grafana-data): fix broken text import paths
2024-07-09 10:07:33 +02:00
linoman
82d8ca03b3 Update SAML UI docs to set up Azure AD (#90193)
* Update SAML UI docs to set up Azure AD
2024-07-09 09:43:43 +02:00
Charandas
3eef9b3397 Requester/authn: check the interface for nil value to avoid false positives (#90210) 2024-07-09 02:30:03 +03:00
Yuri Tseretyan
5ae5fa3a7a Alerting: Support field selectors in time interval API (#90022)
* fix kind of TimeInterval
* register custom fields for selectors
* support field selectors in legacy storage
* support selectors in storage

===== Misc
* refactor conversions to build in one place
* hide implementation of provenance status behind accessors to use the key in selectors
* fix provenance error
2024-07-08 22:45:30 +03:00
Kevin Minehart
63e715f6a9 CI: Sync branch and tag after release (#89967)
* Added `workflow_call` event to allow other workflows to invoke the "Create or update GitHub release"
* Added `dry_run` to `github-release.yml`
* Added `latest` to `release-pr.yml` which will cause the release PR to add a `release/latest` label.
* Removed unnecessary github app creation from github-release workflow and just used permissions.
2024-07-08 14:32:28 -05:00
Charandas
c210617735 K8s: use contexthandler in standalone handler chain (#90102) 2024-07-08 12:22:10 -07:00
Alexander Weaver
3b6a8775bb Alerting: Fix stale values associated with states that have gone to NoData, unify values calculation (#89807)
* Unify values

* Fix with latest changes on main

* Fix up NaN test

* Keep refIDs with -1 as value

* Test that refIDs are preserved on Normal to Error transition

* Alerting to err test too

* Add a blurb to docs about this behavior
2024-07-08 12:30:23 -05:00
Timur Olzhabayev
f763f2085b Feat: Extending report interaction with static context that can be appended to all interaction events (#88927)
* Extending report interaction with static context that can be appended to all requests
2024-07-08 16:37:45 +02:00
Will Browne
cff9ecbd6d Plugins: Ensure plugin dependency field in plugin.json does not require version (#90142)
non required + pattern
2024-07-08 15:28:52 +01:00
Kristin Laemmert
77a4869fca accesscontrol service read replica (#89963)
* accesscontrol service read replica
* now using the ReplDB interface
* ReadReplica for GetUser
2024-07-08 10:00:13 -04:00
Serge Zaitsev
e9876749d4 Chore: Add retry option to curl (#90179)
add retry option to curl
2024-07-08 15:47:31 +02:00
Fabrizio
c42dd6e920 Tempo: Run go get (#89335)
* Run `go get`

* Run `go work sync`

* Update go.work.sum

---------

Co-authored-by: André Pereira <adrapereira@gmail.com>
2024-07-08 14:01:38 +01:00
Pepe Cano
1398f905af Alerting UX: update descriptions for alerting notification fields (#89187)
* Change a bit existing descriptions for Notification fields
aligning them with the updated documentation

* revert `betterrer.results`

* Update public/app/features/alerting/unified/components/notification-policies/EditDefaultPolicyForm.tsx

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

* Update public/app/features/alerting/unified/components/notification-policies/EditDefaultPolicyForm.tsx

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

* Update public/app/features/alerting/unified/components/notification-policies/EditNotificationPolicyForm.tsx

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

* Update public/app/features/alerting/unified/components/notification-policies/routeTimingsFields.ts

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

* Update public/app/features/alerting/unified/components/notification-policies/routeTimingsFields.ts

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

* Update public/app/features/alerting/unified/components/notification-policies/routeTimingsFields.ts

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

* Update public/app/features/alerting/unified/components/rule-editor/NotificationsStep.tsx

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

* Update public/app/features/alerting/unified/components/rule-editor/NotificationsStep.tsx

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

* Update public/app/features/alerting/unified/components/rule-editor/alert-rule-form/simplifiedRouting/route-settings/RouteSettings.tsx

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

* update betterer

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2024-07-08 13:14:19 +02:00
Andres Martinez Gotor
2b7338f8b6 Add optional APIVersion to DatasourceRef (#90076) 2024-07-08 13:12:56 +02:00
Alex Khomenko
96cdce7f72 FilterList: Separate ItemRenderer (#90112)
* FilterList: Separate ItemRenderer

* Extend props

* Codeformat
2024-07-08 14:05:43 +03:00
Andres Martinez Gotor
61b95783d5 UpdateDatasource: Add apiVersion if enabled (#90038) 2024-07-08 13:02:48 +02:00
Josh Hunt
06de37e6cd GrafanaUI: Allow wrap prop on Stack to be a boolean (#90145) 2024-07-08 11:50:51 +01:00
Sarah Zinger
2a80ec9104 Docs: Add line about installing corepack in developer guide (#89250)
Add line about installing corepack
2024-07-08 12:38:41 +02:00
Alex Khomenko
c1ec327b74 FilterList: Improve "No values" display (#90032)
* FilterList: Improve "No values" display

* Switch to ternary
2024-07-08 13:27:34 +03:00
Ashley Harrison
675457fb10 Select: Better styling for virtualized group separators (#90127)
* better styling for group separators

* update comment

* revert back to 37
2024-07-08 10:32:15 +01:00
Santiago
aaf23c64c3 Alerting: Allow remote Alertmanager integration tests to fail (#88664)
* Alerting: Allow remote Alertmanager integration tests to fail

* format drone

* rebase from main

* the wait-for container needs canFail more than the acutal integration-tests container

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2024-07-06 18:39:45 +02:00
antonio
e061f2886f alerting/integrations:opsgenie (#90133)
* alerting/integrations:opsgenie

* Update _index.md

* new line

* all pretty no pity

* numbering

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

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

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

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

* Update configure-opsgenie.md

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-06 11:38:25 +02:00
Kim Nylander
863c9fc34e [DOC] Update the Pyroscope data source config doc (#89648)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-05 14:37:02 -04:00
Todd Treece
5f9ce12542 K8s: Generic watch tests (#90023) 2024-07-05 21:17:20 +03:00
Steve Simpson
e9fd191065 Alerting: Fix some status codes returned from provisioning API. (#90117)
The contact point deletion API was returning 500 when it should have been
returning a 4xx error, when the contact point is in use:

- When in use by a notificiation policy, we were missing
  the `.Errorf("")` to convert `errutil.Base` into `errutil.Error`.
- When in use by an alert rule, an regular error was returned.
2024-07-05 19:06:37 +02:00
Gilles De Mey
650616a404 Alerting: Support utf8_strict_mode: false in Mimir (#90092) 2024-07-05 17:17:45 +02:00
Victor Marin
f88bf474bd Fix panel paste button in nav toolbar (#90143)
fix panel paste button in nav toolbar
2024-07-05 17:58:55 +03:00
Alex Khomenko
22df2d9b06 BrowseDashboards: Fix starred toggle (#90138) 2024-07-05 17:11:03 +03:00
Ashley Harrison
680f5ed2cc Chore: More SCSS cleanup (#90132)
* convert TagBadge to a functional component

* migrate label and label-tag styles to TagBadge

* migrate filter-table to emotion globals

* migrate query-part styles to emotion globals

* move tag color to be an inline style
2024-07-05 14:33:43 +01:00
Oscar Kilhed
1f90784a83 Dashboard scene: Ignore repeat row process for non multi variables. (#90107)
* Ignore row repeat process for non multi value variables

* Reverse if statement to avoid non needed negation
2024-07-05 15:12:06 +02:00
Alex Khomenko
7111c52e4c Nav: Add items to saved (#89908)
* App events: Add info notification type

* Revert state

* Use info alert

* Nav: Enable saving items

* Use local state

* Use RTK query

* Revert go.work

* Revert

* User-specific queries

* Add memo

* Fix base URL

* Switch to ids

* Fix memo

* Add codeowners

* Generate API

* Separate user prefs API

* Remove tag

* Update export

* Use feature toggle
2024-07-05 16:01:10 +03:00
Alexander Zobnin
7bf8375b02 Zanzana: Add basic metrics for evaluation time and status (#90125)
* Zanzana: Add basic metrics for evaluation time and status

* only init when feature enabled

* add todo
2024-07-05 14:53:40 +02:00
Leonor Oliveira
ec6a939815 Compare results when reading/writing between unified_storage and legacy (#89773)
* Compare results when reading/writing between unified_storage and legacy

* Always use name when comparing objects

* Compare on get method

* Update pkg/apiserver/rest/dualwriter.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Add new metric to count how many times we read from legacy in mode 2

* Move counter

* Add name in mode1

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-07-05 14:01:05 +02:00
Josh Hunt
1b3597d795 E2C: Empty and Loading snapshot states (#90043)
* E2C: Empty and Loading snapshot states

* fix responsive
2024-07-05 12:32:45 +01:00
Ieva
e9ebb6eaa4 Folders: Fix folder pagination for cloud instances with many folders (#90008)
* filter the k6 folder out in the SQL queries rather than during post processing to ensure that the correct number of results is always returned

* linting
2024-07-05 11:19:03 +01:00
Misi
4f06568f8a Auth: Add support for escaping colon characters in org_mapping (#89951)
* Split org_mapping correctly if it contains multiple colons

* Improve tests

* Use backslash as an escape character for colons

* Cleanup, address feedback

* Change test to use double quotes as an example
2024-07-05 13:06:25 +03:00
Karl Persson
7a78ad3893 Authn: Remove response writer from auth req (#90110)
Authn: Remove response writer from request
2024-07-05 11:42:12 +02:00
Alexander Zobnin
87d86e81ce Zanzana: Evaluate permissions alongside with RBAC engine (#90064)
* Zanzana: Evaluate permissions if feature flag enabled

* Fix tests

* adjust logs

* fix spelling

* remove unused

* only evaluate implemented resources

* refactor
2024-07-05 11:31:23 +02:00
Mihai Doarna
48e6e9a36c LDAP: Compute values when reloading LDAP settings (#90059)
* compute values when reloading LDAP settings

* remove grafana-cli/logger dependency

* export defaultTimeout from ldap package

* add server host to logs
2024-07-05 11:58:50 +03:00
Mihai Doarna
dfabc878f3 LDAP: Remove duplicate code (#90066)
remove duplicate readConfig() function from LDAP
2024-07-05 11:18:37 +03:00
antonio
8bc8b4b31f alerting/integrations:telegram-update (#90105)
* alerting/integrations:telegram-update

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

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

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

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-05 10:18:15 +02:00
Mihai Doarna
e299621766 LDAP: Fix LDAP config cache (#89998)
* initialize LDAP config cache

* check err is nil

* return the config from cache only if the config file has not been modified

* rename var from test
2024-07-05 11:10:52 +03:00
Mihai Doarna
e7780c9c9c SSO: Add more LDAP config validations for SSO settings (#90036)
add more LDAP config validations for SSO settings
2024-07-05 10:48:34 +03:00
Misi
f337da8e57 Chore: Add more context to logs of OAuthToken and OAuthTokenSync (#90071)
Chore: Add more context to oauth token sync
2024-07-05 09:37:36 +02:00
Andre Pereira
315e068190 Navbar: Reorder logs, traces and profiles apps under explore (#90093)
Reorder logs, traces and profiles apps in navbar
2024-07-04 17:57:08 +01:00
Marcus Efraimsson
06e67bc573 API Server: Fix stack overflow panic when tracing is disabled (#90075) 2024-07-04 19:11:59 +03:00
ANURAG RANJAN
d6b39498d0 Docs: Fix typo in text (#89325) 2024-07-04 12:09:21 -04:00
ismail simsek
4fcd348366 InfluxDB: Fix returning InfluxDB error messages (#89973)
* Revert "Chore: Return influxdb query error early before parsing the result (#88549)"

This reverts commit a87c155c06.

* Handle error in buffered parser

* handle error message in streaming parser
2024-07-04 17:45:36 +02:00
antonio
d563db63e7 alerting/docs:discord (#90068)
* alerting/docs:discord

* 'pretty'
2024-07-04 17:42:33 +02:00
Ezequiel Victorero
ed736eb9a0 Chore: Update swagger docs (#90065) 2024-07-04 12:01:23 -03:00
Oscar Kilhed
6daadd6b78 Dashboard scenes: Fix inspect export join series by time (#90058)
Fix default for transformations
2024-07-04 16:51:27 +02:00
Gilles De Mey
dd4e254900 Alerting: Skip fetching alerts for unsaved dashboards (#90061)
skip fetching alerts for dashboards with null uid
2024-07-04 16:46:51 +02:00
Jack Westbrook
965cdef855 Datasource Config: Return error object on failed updates (again) (#89906)
* refactor(datasource): only pass back the error information when rejecting ds updates

* revert(datasource): remove stray console import

* refactor(datasource-config): update traceId to traceID
2024-07-04 17:44:49 +03:00
Andres Martinez Gotor
be98ab1111 Add apiVersion to datasource settings DTO (#90057) 2024-07-04 16:44:19 +02:00
github-actions[bot]
37a58d15cf Update make docs procedure (#89933)
Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-04 15:40:43 +01:00
Sonia Aguilar
7f4a1469e8 Alerting: Central alert state history part3 (#89842)
* Implement EventDetails for expanded rows and pagination on the events list

* Add test for getPanelDataForRule function

* prettier

* refactor EventState component

* create interfaces for props

* Add missing translations

* Update some comments

* prettier and extract translations

* remove unnecessary translations

* update translations

* address review comments

* address review pr comments
2024-07-04 16:21:39 +02:00
Misi
b174c1310a Auth: Add organization mapping configuration to the UI (#90003)
* Add org_mapping and org_attribute_path to the UI

* Add validators, allow setting org mapping to only Grafana Admins

* comment

* Address feedback, improve validation, fix FE test, lint
2024-07-04 16:00:56 +02:00
Taylor Dean
d5b21f77aa Tempo: Fix grpc streaming support over pdc-agent (#89883)
* Tempo: Fix grpc streaming support over pdc-agent

* Fix a spelling error and formatting

* Ignore lint issue for reasons listed in source code comment

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2024-07-04 14:09:34 +01:00
Josh Hunt
12a5583eb6 Chore: Bump fast-loops (#90051) 2024-07-04 15:48:29 +03:00
Bogdan Matei
ab1ad8ed7f Scopes: Fix debounce for nodes search (#90042) 2024-07-04 15:26:17 +03:00
brendamuir
09d833fef9 Alerting docs: vale errors for labels and annotations (#89957)
* Alerting docs: vale errors for labels and annotations

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

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

* Update docs/sources/alerting/fundamentals/alert-rules/annotation-label.md

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-07-04 14:20:00 +02:00
Alex Khomenko
7c7f09233d DateTimePicker: Add "timeZone" prop (#90031)
* DateTimePicker: Add custom timeZone support

* Add test

* More tests

* Add comment

* Tweaks
2024-07-04 14:45:48 +03:00
Hugo Kiyodi Oshiro
ff03786909 Chore: Add manual trigger for levitate pipeline test (#90040) 2024-07-04 13:44:14 +02:00
Dave Henderson
7ac757afcb infra(tracing): Fix span naming order-of-operations bug (#90025) 2024-07-04 07:05:14 -04:00
Sergej-Vlasov
8f99d58aaf WebpackDev: Resolve react-router-dom from local node modules (#89547)
resolve react-router-dom from local node modules
2024-07-04 13:28:54 +03:00
Ashley Harrison
bcb168c39d Drawer: Fix size on mobile (#90037)
fix drawer size on mobile
2024-07-04 11:19:19 +01:00
Ashley Harrison
5ed5a2de2a Chore: Add timeout for storybook e2e, only run on changes to @grafana/ui (#90035)
* add timeout for storybook, only run on changes to @grafana/ui

* add comment to trigger verify-storybook

* remove test comment

* add comment

* use a later version of wait-on

* remove comment and hardcode wait-on version
2024-07-04 11:19:07 +01:00
kay delaney
4671b7d5ae Scenes: Fix issue where "get help" drawer was empty in panel edit mode (#89431)
* Scenes: Fix issue where "get help" drawer was empty in panel edit mode
2024-07-04 13:07:15 +03:00
Ashley Harrison
df84d8509d Select: Properly show group separator for virtualized selects (#90005)
* add group separator for virtualized selects

* simplify
2024-07-04 10:30:35 +01:00
Laura Fernández
d043faa8a9 E2C: Modify EmptyState page on cloud (#89935) 2024-07-04 11:26:57 +02:00
Karl Persson
c04be62b65 Zanzana: client integration test (#89997)
* Restructure

* Zanzana: Add integration tests for client

* skip mysql 5.7 integration tests
2024-07-04 11:23:48 +02:00
Ida Štambuk
4fc42b8a71 Cloudwatch: Add monitoring badge for metric insights (#89956) 2024-07-04 11:22:52 +02:00
Andres Martinez Gotor
844d575681 Chore: fixes for admisison handlers (#90033) 2024-07-04 10:49:51 +02:00
Ida Štambuk
eef9a7b4e5 Cloudwatch: Rename Metric Query to Metric Insights (#89955) 2024-07-04 10:30:23 +02:00
Ryan McKinley
fe201b6bb2 FeatureToggles: Update metadata from gitlog (#89766) 2024-07-04 04:53:39 +03:00
Li Zeghong
edc1f50c4e Chore: Remove unnecessary typecheck linter config (#89198) 2024-07-04 02:33:03 +03:00
Ryan McKinley
de06762852 K8s: Add basic peakq test w/ resource (#90026) 2024-07-04 01:26:33 +03:00
Todd Treece
274bd08afc K8s: Improve key generation and parsing (#90014) 2024-07-04 01:11:45 +03:00
Dave Henderson
f70f60efd0 localdev: Enable profiling on local dev environment (#89727)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-04 00:30:41 +03:00
Yuri Tseretyan
411bab6d44 Alerting: Lower severity of logs about duplicates to debug (#89971)
lower severity of logs about duplicates to debug
2024-07-03 16:46:28 -04:00
Dave Henderson
4ec4994e89 infra(tracing): Always end started spans (#90016)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-07-03 16:25:57 -04:00
Kyle Cunningham
c9b1e81ed2 Table panel: Add alt and title text options to image cell type (#89930)
* Various updates

* Update form callbacks

* Use defaultValue as opposed to value on input

* Fix things up

* Docs

* Prettier

* Update docs

* Update label text

* Prettier
2024-07-03 22:10:54 +03:00
Stephanie Hingtgen
2d5c58cb90 Feature toggles: add expression to generated json and k8s response (#90006) 2024-07-03 21:08:58 +03:00
Adam Bannach
48552a578a feat: add adaptive logs under cost management->logs nav (#89875)
Co-authored-by: Xiyu Chen <xiyu.chen@grafana.com>
2024-07-03 19:59:47 +03:00
Gilles De Mey
3ca4fb1a8f Alerting: Show repeat interval in timing options meta (#89414) 2024-07-03 19:56:30 +03:00
Todd Treece
c6663ce6be Chore: Ensure go.work.sum is updated (#89996) 2024-07-03 12:49:03 -04:00
Sarah Zinger
db68d58d52 CloudWatch: add account dropdown to metric insights (#89926) 2024-07-03 12:09:40 -04:00
Sergej-Vlasov
acf5c7c6ba DashboardScene: Activate refresh picker manually when time controls are hidden (#89952)
---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-07-03 18:43:44 +03:00
renovate[bot]
0bbaed187c Update dependency @grafana/scenes to v5.3.6 2024-07-03 16:13:41 +01:00
ismail simsek
7f5dde6ed3 Chore: Cleanup duplicated code in grafana-prometheus package (#89542)
* remove redundant test matchers

* use amendTable, trimTable functions from @grafana/data package

* move getMockDataSource function into the mocks.ts

* use LocalStorageValueProvider from @grafana/o11y-ds-frontend

* move all mocks under __mocks__ directory

* use store from @grafana/o11y-ds-frontend

* move test related files under test directory

* use getNextRefId from @grafana/data instead of deprecated getNextRefIdChar
See: https://github.com/grafana/grafana/pull/87460

* betterer

* remove unnecessary mockings

* import from @grafana/data

* import from @grafana/data
2024-07-03 16:21:29 +02:00
Dominik Prokop
f659bc1f40 Dashboard: Allow disabling dashboard grid lazy loading (#89280)
* Schema update

* Dashboard: Allow opting out from dashboard panels lazy loading

* Locale

* Lint fix

* Snaps fix
2024-07-03 16:00:45 +02:00
Bruno
d1952bb681 Cloud migrations: create snapshot files (#89693)
* Cloud migrations: create snapshot and store it on disk

* fix merge conflicts

* implement StartSnapshot for gms client

* pass snapshot directory as argument to snapshot builder

* ensure snapshot folder is set

* make swagger-gen

* remove Test_ExecuteAsyncWorkflow

* pass signed in user to buildSnapshot method / use github.com/grafana/grafana-cloud-migration-snapshot to create snapshot files

* fix FakeServiceImpl.CreateSnapshot

* remove new line
2024-07-03 10:38:26 -03:00
Joey
7b29242600 Tempo: Fix query history (#89991)
Fix query history for Tempo queries
2024-07-03 13:55:33 +01:00
Jack Westbrook
306ae8b4f5 Grafana/data: Remove barrel files part 2 (#89850)
* chore(grafana-data): remove datetime barrel file and update all imports

* chore(grafana-data): remove types barrel file and update imports

* chore(grafana-data): update types imports across package files

* chore(grafana-data): fix erroronous type export definition on OrgRole

* chore(grafana-data): fix errornous re-export type declarations and missing datetime/common exports

* chore(azure-monitor): fix import pointing to nested grafana-data barrel file
2024-07-03 14:14:58 +02:00
ismail simsek
c538d7ca6f Chore: Update go.mod go.sum and go.work.sum files (#89992)
* Update go.mod go.sum and go.work.sum files

* set owners
2024-07-03 14:08:44 +02:00
Karl Persson
cbbc12a31b Zanzana: Sync team memberships (#89983)
* Zanzana: Use uid for users and teams

* Zanzana: Team membership migrator

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2024-07-03 13:37:26 +02:00
Josh Hunt
7448f22f91 E2C: Create Snapshot frontend (#89901)
* First pass at using new async apis

* async api tweaks

* clean up async api usage

* Update public/app/features/migrate-to-cloud/onprem/Page.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Update public/app/features/migrate-to-cloud/onprem/Page.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

* fix syntax

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-07-03 11:42:00 +01:00
Karl Persson
bfe77ab530 Users: Ensure default admin is created with a valid uid (#89981)
Users: Ensure default admin has a valid uid
2024-07-03 12:06:10 +02:00
Joao Silva
9004b58851 Navigation: Backend to save navigation customization into preferences (#89783) 2024-07-03 10:40:51 +01:00
Brandon D
68e30e2b4b Updating spelling within Anonymous Page (#88757)
* Updating Placeholder

* Fix
2024-07-03 10:20:59 +02:00
Ivan Ortega Alba
1de3e4be29 Scenes: Upgrade to v5.3.4 (#89978) 2024-07-03 03:38:57 -04:00
Andres Martinez Gotor
f41ee615ba Chore: Add basic admission handlers for registered API services (#89824) 2024-07-03 09:19:54 +02:00
Karl Persson
f18da6f4dc User+team: remove startup migration for uid (#89953)
* Remove migration that is performed on startup
2024-07-03 09:11:52 +02:00
Jeff Levin
cfe8317d45 Add auth spans and remove deduplication code for scopes (#89804)
Adds more spans for timing in accesscontrol and remove permission deduplicating code after benchmarking

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2024-07-02 22:08:57 -08:00
ismail simsek
5b6edc96d9 Chore: Use SelectMenuOptions from @grafana/ui in grafana-prometheus (#89562)
use SelectMenuOptions from @grafana/ui
2024-07-03 01:27:19 +02:00
Frank Villaro-Dixon
2a1b620c38 Dashboard: share modal: open link in new page (#89710)
Signed-off-by: Frank Villaro-Dixon <frank@villaro-dixon.eu>
2024-07-02 17:06:08 -04:00
Isabel Matwawana
ff982ed001 Docs: Clarify query and tags search in dashboard list (#89968) 2024-07-02 16:35:54 -04:00
Charandas
f50c8566df K8s: handle queries being an empty slice (#89928)
* K8s: handle queries being an empty slice

* remove unnecessary comment

* remove redundant break
2024-07-02 19:44:29 +00:00
Tom Ratcliffe
b18b1efec4 Alerting: Add (manual) script to generate alerting RTKQ APIs from OpenAPI spec (#89482) 2024-07-02 18:31:37 +01:00
Josh Hunt
52ea6236d4 E2C: Set up page route so cloud-migrations doesn't 404 (#89947) 2024-07-02 17:11:18 +01:00
antonio
9740ce3f58 alerting:docs>oncall (#89780)
* alerting:docs>oncall

* removed refs

* links

* dot

* all pretty no pity
2024-07-02 17:21:29 +02:00
Alex Khomenko
0500b596db BrowseDashboards: Update results when starred param changes (#89944)
* BrowseDashboards: Trigger update results when starred param changes

* Use LocationService

* Use locationService directly
2024-07-02 17:37:40 +03:00
Karl Persson
e568b86ac0 Zanzana: Initial work to allow partial data migrations (#89919)
* Zanana: Add Write method to interface

* Zanzana: Add utilities for translating RBAC to openFGA tuple keys

* RBAC: Add zanzana synchronizer

* Run zanzana sync in access controll provider
2024-07-02 14:45:25 +02:00
Marcus Efraimsson
f518c5978c API Server: Hack to make tracing work for code using otel.GetTracerProvider (#89945) 2024-07-02 14:33:08 +02:00
Matias Chomicki
cc7aae154c Loki datasource: interpolate query before adding adhoc filters (#89849)
* Loki datasource: interpolate query before adding adhoc filters

* Chore: remove unused export

* Prettier

* Chore: made test case more obvious
2024-07-02 14:23:19 +02:00
antonio
5d06f86178 alerting>home:get-started (#89835)
* alerting>home:get-started

* all pretty no pity

* applied suggestions

* prettier-betterer

* betterer
2024-07-02 13:34:39 +02:00
Alex Khomenko
df15678455 Dashboard: Use preferred timezone on create (#89833)
* Dashboard: Use preferred timezone on create

* Add test
2024-07-02 14:15:23 +03:00
antonio
92ad6c71d1 alerting:mute-timings>api (#89902)
* alerting:mute-timings>api

* added type go-type

* all pretty
2024-07-02 10:46:18 +00:00
Sergej-Vlasov
527071aed6 DashboardScene: Disable edit related shortcuts for Viewer (#89936)
check if can edit before adding edit shortcuts
2024-07-02 13:36:14 +03:00
Ida Štambuk
36ff0fe63a Features: Add cloudwatchMetricInsightsCrossAccount feature toggle (#89848) 2024-07-02 12:34:12 +02:00
Ashley Harrison
ba64ee44cb Chore: Move SCSS mixins to be where they're used (#89907)
move mixins to be where they're used
2024-07-02 11:28:27 +01:00
Mihai Doarna
4306d52353 SSO: Encrypt and decrypt secrets for LDAP settings (#89470)
encrypt/decrypt secrets for LDAP
2024-07-02 12:37:13 +03:00
Alexander Zobnin
f1968bbcbb Zanzana: Run OpenFGA HTTP server in standalone mode (#89914)
* Zanzana: Listen http to handle fga cli requests.

* make configurable

* start http server during service run

* wait for GRPC server is ready

* remove unnecessary logs

* fix linter errors

* run only in devenv

* make address configurable
2024-07-02 11:14:09 +02:00
Ryan McKinley
073ef93007 Authn: Set requester in middleware (#89929)
identify in context
2024-07-02 08:50:35 +02:00
Yuri Tseretyan
c3b5cabb14 Alerting: Refactor scheduler's rule evaluator to store rule key (#89925) 2024-07-01 16:43:23 -04:00
Alexander Weaver
e4eebd6379 Fix drift around apimachinery package in go.mod (#89927)
* get

* tidy
2024-07-01 15:00:06 -05:00
Adela Almasan
78f9c0fd41 Table: Filter hidden fields for text wrapping (#89800) 2024-07-01 22:01:19 +03:00
Yuri Tseretyan
655e477c20 Alerting: Fix flaky test in scheduler's tests (#89923) 2024-07-01 13:31:03 -04:00
Santiago
fce03cd724 Alerting: Send static headers to the remote Alertmanager (#89846) 2024-07-01 17:48:40 +02:00
Sonia Aguilar
579250a89a Alerting: Show Insights page only on cloud (when required ds's are available) (#89679)
* Show Insights page only on cloud (when required ds's are available)

* fix typo

* remove unnecessary export
2024-07-01 17:44:33 +02:00
Todd Treece
9c6d3590a2 Chore: Fix apiserver circular dependencies (#89918) 2024-07-01 11:42:34 -04:00
Michael Mandrus
6761ed863f CloudMigrations: Add ordering to snapshot list query (#89916)
add ordering to snapshot list
2024-07-01 11:35:04 -04:00
Sonia Aguilar
86466aec61 Gops: Update texts in main irm page (#89810)
Update texts in main irm page
2024-07-01 17:00:40 +02:00
Yuri Tseretyan
559738ce6a Alerting: Fix flaky test in historian (#89913) 2024-07-01 16:59:06 +03:00
Gabriel MABILLE
71d31397e5 Fix flaky tests (#89910) 2024-07-01 14:39:51 +02:00
Juan Cabanas
751e6739f3 ShareDrawer: Add menu item click tracking (#89860) 2024-07-01 09:01:14 -03:00
Alex Khomenko
852d032e1a App events: Add "info" variant (#89903)
* App events: Add info notification type

* Add info hook

* Revert state

* Use info alert
2024-07-01 14:28:49 +03:00
Bogdan Matei
4c9fef6183 Scopes: Persist selected scopes when searching (#89758) 2024-07-01 13:46:45 +03:00
Ashley Harrison
c0058f9c7e Page: Add bodyScrolling feature toggle (#89895)
add bodyScrolling feature toggle
2024-07-01 11:28:39 +01:00
Pepe Cano
c168f2acec Alerting docs: Update View alert groups (#89461)
* Alerting docs: Update `View alert groups`
Rename to `View the status of notifications` and extend on this topic

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

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

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

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

* Update docs/sources/alerting/manage-notifications/view-alert-groups.md

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

* Use `1` always for numbered list

* refer to `grouping settings of notification policies`

* Update `View notification errors` with latest instructions

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-07-01 11:35:12 +02:00
Andres Martinez Gotor
a22c1ae424 Chore: Remove provisional APIVersion from plugin info (#89831) 2024-07-01 10:53:16 +02:00
Andres Martinez Gotor
55ba32bda7 Bugfix: Fix Testdata CSV empty scenario (#89890) 2024-07-01 10:39:43 +02:00
Andres Martinez Gotor
569853278b Adapt docs/sources/developers/plugins/plugin.schema.json codeowners (#89832) 2024-07-01 09:31:05 +02:00
Sebastian Hiebl
8008bcd003 TimeSeries: Expose option for "Bar width factor" (#77338)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-28 18:13:34 -05:00
Leon Sorokin
c2cd32ab64 Table: Don't error if first frame is field-less (empty response) (#89867) 2024-06-28 02:58:49 +03:00
Simon Podlipsky
b7d5587018 Dockerfile: Fix go deps (#89857)
Add missing deps
2024-06-27 17:53:43 -04:00
Adela Almasan
ad2b5a02a1 VizTooltip: Hide tooltip options from when tooltip is hidden (#89864) 2024-06-28 00:49:20 +03:00
Isabel Matwawana
3edca2e2fd Docs: Add tooltip options to histogram v11.2 (#89863)
Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-06-27 17:16:57 -04:00
Nathan Marrs
f26bec40e5 Chore: Lint json files in .github directory (#89861) 2024-06-27 23:43:10 +03:00
Nathan Marrs
0ea66b8155 Chore: Update DataViz github automation (#89852) 2024-06-27 15:22:15 -05:00
Lucy Chen
8b35ce6129 ShareModal: Export options (JSON) (#87082)
* Adding new export button

* Create Export as JSON drawer

* update scene drawer and add css

* update css

* Update ExportAsJson to be regular react component

* add tests to export menu and button

* add tests

* prettier and lint

* fix translations

* update translation

* Apply suggestions from code review

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>

* delete extra file

* Update to use SceneObject

* add spinner

* Rename ExportAsJSON.tsx to ExportAsJson.tsx

* update i18n

* Upate texts

* small fixes from code review

* add space

* i18n

* fix build issues

* changes from review feedback

* update test

* update test

---------

Co-authored-by: Juan Cabanas <juan.cabanas@grafana.com>
2024-06-27 15:36:23 -04:00
Juan Cabanas
1e7cd9e9ec ShareDrawer: Schedule Report (#89802) 2024-06-27 14:30:33 -03:00
linoman
d497e641db SAML: Add Azure AD configuration for SAML integration (#89767)
* Add Azure AD configuration for SAML integration
2024-06-27 18:29:16 +02:00
Ashley Harrison
e87646eeb6 Storybook: Add basic e2e verification test (#89779)
* add very basic tests to verify storybook builds correctly

* add storybook step to drone

* reorder steps

* drone tweaks

* don't need host since it's set in env

* don't need to wait

* format build.star and readd wait

* install netcat in CI

* do a yarn install here to get correct bindings

* refactoring to hopefully work better in CI

* add wait-on

* add verbose logging

* localhost?

* more logging

* specify storybook host

* ...

* back to grafana-server

* does this work? 🤔

* run storybook e2e test after rgm-package so the backround process is running for less time

* split into separate step

* format
2024-06-27 16:43:43 +01:00
Ivan Ortega Alba
895baa95a0 VizPanelManager: Adapt color palete after plugin change (#89790)
* VizPanelManager: Adapt color palete after plugin change

* Upgrade scenes

* Remove broken code

* Upgrade scenes version

* linter
2024-06-27 17:26:38 +02:00
Ida Štambuk
ba5b33227c Cloudwatch: Round up endTime in GetMetricData to next minute (#89341)
* Add cloudWatchRoundUpEndTime feature toggle
2024-06-27 17:10:28 +02:00
Kristina
0aaf820fd9 Explore / Query Library : Show user data (#88258)
* Add basic button for adding a query template

* Add hook to create a template

* Handle notifications

* Add tags to invalidate cache

* Generate translations

* Updates types

* Add tests

* Simplify code

* Add user to type

* Add a better default title

* bring in piotrs pr and try to add user data

* Move out of metadata (reserved in k8s) and make new values exportable

* Show user data

* Fix bad merge

* WIP

* Add annotation data to FE

* add (failing) test

* Fix types and test

* Cleanup

* Enhance user data and send to component for display

* Fix type

* Fix expected values

* fix betterer

* Fix test

* Remove user lookup

* testing slug usage for api

* Revert "testing slug usage for api"

This reverts commit cc4556c3b7.

* change types, display userid if login isnt returned

* Simply display whatever is in property

* skip test on removed logic

* Try waiting for query to finish before eval

* Revert "Try waiting for query to finish before eval"

This reverts commit 6220cabd17.

* Handle attribute not existing when storage type is file

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
2024-06-27 09:46:49 -05:00
dependabot[bot]
0c256be7c1 Chore(deps): Bump github.com/alicebob/miniredis/v2 from 2.30.1 to 2.33.0 (#88588)
Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.30.1 to 2.33.0.
- [Release notes](https://github.com/alicebob/miniredis/releases)
- [Changelog](https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alicebob/miniredis/compare/v2.30.1...v2.33.0)

---
updated-dependencies:
- dependency-name: github.com/alicebob/miniredis/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-27 17:43:59 +03:00
kay delaney
2e0175c3eb Dashboards: Change datemath parse logic so parsed dates always take timezone into account (#88182)
* Dashboards: Change datemath parse logic so parsed dates always take timezone into account
2024-06-27 16:17:21 +03:00
Sonia Aguilar
0285278cfc Alerting: Use runtime data source for getting events from alert state history in the bar chart (#89307)
* Use runtime data source for getting events from alert state history in the bar chart

* extract translations

* refactor

* More refactor

* Update events limit

* Add info icon with tooltip info for label querying filter

* Add translations

* Create new useRuleHistoryRecords hook skipping extraction of common labels as they are not used

* Fix test

* update limit value for the events in the api to 5000

* Use state for rows key

* remove React import

* Address review comments

* Address review comments

* run prettier

* Remove duplicated handlers
2024-06-27 14:00:42 +02:00
Laura Benz
c9a5ee616e RestoreDashboards: Add search (#89692)
* feat: add search

* feat: run i18n extraction

* refactor: styling issue for smaller screen sizes
2024-06-27 14:00:12 +02:00
Alexander Zobnin
190892bc88 Zanzana: Initial schema loading (#89492)
* Zanzana: Dummy schema loading

* Load authorzation model for client

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-06-27 13:57:06 +02:00
ismail simsek
8f2daacf78 Chore: Remove CancelablePromise (#89564)
* Remove CancelablePromise.ts as it wasn't used in anywhere

* Move cancelable-promise to the place where it is used
2024-06-27 13:33:35 +02:00
Jack Westbrook
56fb1234f6 Grafana/data: Remove barrel files part 1 (#89556)
* chore(grafana-data): remove dataframe barrel file and update all imports and exports

* chore(grafana-data): remove field barrel file and update imports n exports

* chore(grafana-data): remove utils barrel file and update imports and exports

* chore(grafana-data): remove tranformations barrel file and update imports n exports

* chore(grafana-data): remove imports from root index.ts

* chore(grafana-data): remove valueFormats barrel file and update imports n exports

* chore(grafana-data): don't import from root barrel file
2024-06-27 12:42:42 +02:00
Ashley Harrison
89fe64f900 Keybinds E2E: simplify keybinds e2e even further (#89819)
simplify keybinds e2e even further
2024-06-27 13:15:15 +03:00
AHeinlein
a15a206e9c Docs: Update LDAP doc for debug view (#89522)
Update LDAP doc

LDAP debug view does not work with single bind since there is no way to bind to the LDAP server and perform the search.
2024-06-27 10:07:30 +00:00
Tom Ratcliffe
86d41b1e23 Alerting: Update warning message for Telegram parse_mode and default to empty value (#89630) 2024-06-27 10:33:40 +01:00
Sergej-Vlasov
8e1c4919c7 DashboardScenes: Disable flaky new-datasource-variable e2e test (#89817)
disable flaky new-datasource-variable e2e test
2024-06-27 12:06:07 +03:00
brendamuir
f833b782b6 Alerting docs: adds silence RBAC 11.1 (#89176)
* Alerting docs: adds silence RBAC 11.1

* ran prettier

* Improve docs with new rule-specific silence RBAC information

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* prettier

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-27 10:10:34 +02:00
Alexander Akhmetov
68691c9386 Alerting: Add setting for maximum allowed rule evaluation results (#89468)
* Alerting: Add setting for maximum allowed rule evaluation results

Added a new configuration setting `quota.alerting_rule_evaluation_results` to set the maximum number of alert rule evaluation results per rule. If the limit is exceeded, the evaluation will result in an error.
2024-06-27 09:45:15 +02:00
Dominik Prokop
be1414b36b Dashboards: Remove scenes feature toggle (#89771) 2024-06-27 09:03:46 +02:00
Alex Khomenko
9056ff73f6 TimeRangePicker: Use week start (#89765) 2024-06-27 07:53:46 +03:00
Jeff Levin
ed13959e33 Optimize memory allocations in permissions cache (#89645)
This PR reduces the number of allocations made while caching permissions from the database, fixes the hierarchy of spans and adds new spans for tracing.

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-26 23:03:13 +03:00
Andreas Zilly
f894c22b21 Chore: Add missing build elements to Dockerfile (#89714)
Several go.* files that are referenced in go.work were missing in Dockerfile.
2024-06-26 15:22:37 -04:00
Matthew Jacobson
e121e2609f Alerting: Receiver API (#89707) 2024-06-26 20:03:25 +03:00
Kyle Cunningham
c575c06d63 Table Panel: Fix Image hover without datalinks (#89751)
* Fix image hover

* Prettier

* Fix height offset
2024-06-26 23:12:44 +07:00
Isabella Siu
3ac109e759 AWS: Update deprecated aws-sdk functions from env variable versions (#89643) 2024-06-26 11:56:39 -04:00
Jack Westbrook
40207c53ae Plugins: Expose functions to plugins for checking RBAC permissions (#89047)
* feat(grafana-data): create rbac functions for checking permissions

* feat(grafana-runtime): pass current user to runtime

* feat(grafana-runtime): expose rbac functions to check permissions against current user

* refactor(contextsrv): use functions from grafana/data to check rbac permissions against user

* Apply suggestions from code review

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

* chore(rbac): fix missing types imports

* refactor(rbac): make exposed functions return boolean

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2024-06-26 17:29:17 +02:00
Karl Persson
7f4faaa45b ExtJWT: Remove test (#89665)
Remove test
2024-06-26 17:25:26 +02:00
Juan Cabanas
e6e163eaf5 ShareDrawer: Share Snapshot menu item condition (#89733) 2024-06-26 12:06:10 -03:00
Yuri Tseretyan
06d5850396 Alerting: Update alerting state history API to authorize access using RBAC (#89579)
* add method CanReadAllRules to rule authorization service

* add alias type Namespace for Folder in ngalert's models package. It implements the Namespacer interface that is used by authz logic

* update state history's backends to authorize access to rules.
* update Loki to add folders UIDs to query. 
    * Update BuildLogQuery to drop filter by folders if it's too long and fall back to in-memory filtering.
2024-06-26 10:25:37 -04:00
Kevin Minehart
16b050f676 CI: fix release comms workflow (#89744)
* add runs-on key

* remove unneeded env key

* use more specific quotes in commands

* fix block syntax

* fix workflow dispatch event check
2024-06-26 17:21:10 +03:00
Sergej-Vlasov
3056e8310b DashboardScenes: Skip flaky scenes E2E tests (#89769)
skip flaky tests
2024-06-26 17:06:35 +03:00
Juan Cabanas
ba4f2713c5 Sharing: Change code ownership (#89732) 2024-06-26 09:16:13 -03:00
Santiago
fe1309dd96 Alerting: Send external URL to the remote Alertmanager (#89701)
* Alerting: Send external URL to the remote Alertmanager

* test that the URL is sent to the remote Alertmanager

* AppURL -> ExternalURL
2024-06-26 14:02:02 +02:00
Ryan McKinley
3db4e5a0c6 K8s: remove dashboard summary abstraction (#89761) 2024-06-26 15:00:24 +03:00
Ezequiel Victorero
fb15d681a1 PublicDashboards: Update data sources supported list (#89704)
PublicDashboards: Update datasources compatibility list
2024-06-26 08:44:05 -03:00
Bogdan Matei
68a5bf3c18 Scopes: Allow node title to expand the container (#89682) 2024-06-26 14:41:38 +03:00
Josh Hunt
5fdbafdc45 E2C: New onprem empty state (#89628)
* E2C: New onprem empty state

* fix test
2024-06-26 14:30:02 +03:00
Ashley Harrison
d3dda4ca89 Storybook: Use new JSX runtime (#89768)
use new jsx runtime in storybook
2024-06-26 12:14:11 +01:00
Bogdan Matei
95a8fc1dd7 Scopes: Implement message for when there are no dashboards found (#89675) 2024-06-26 14:10:38 +03:00
Bogdan Matei
9770ebcd6c Scopes: Open the selector to a selected scope (#89686) 2024-06-26 13:46:44 +03:00
Ryan McKinley
529d4e1169 Dashboards: Use dashboard_api k8s wrapper for save options also (#89598) 2024-06-26 13:35:04 +03:00
Bogdan Matei
1040dc1baf Scopes: Implement clear search for nodes (#89678) 2024-06-26 13:18:50 +03:00
Ashley Harrison
54cfae8fef Chore: Simplify keybinds e2e test (#89760)
simplify keybinds e2e test
2024-06-26 10:37:33 +01:00
kay delaney
be2aa9a3a7 Scenes: Implement 't a' shortcut (#89619) 2024-06-26 10:10:00 +01:00
Ashley Harrison
7b0362b228 Drawer: Improve performance when resizing (#89691)
apply dynamic styles as styles instead of emotion classes
2024-06-26 09:37:17 +01:00
Nihal
b1ce7e8a83 Alerting: Reduce cyclomatic complexity of PrepareRuleGroupStatuses (#89649)
* reduce cyclomatic complexity of PrepareRuleGroupStatuses. see https://github.com/grafana/grafana/issues/88670

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

* reduce cyclomatic complexity for PrepareRuleGroupStatuses in pkg/services/ngalert/api/api_prometheus.go

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

* reduce cyclomatic complexity for PrepareRuleGroupStatuses in pkg/services/ngalert/api/api_prometheus.go

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

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-06-26 10:21:37 +02:00
Leonor Oliveira
2645958c8c Use global function to compare any entity to both stores (#89282)
* WIP implement generic compare interface

* Use global compare fn for all entities

* Lint

* Update pkg/apiserver/rest/dualwriter.go

Co-authored-by: Dan Cech <dcech@grafana.com>

* Don't need to hash, just compare bytes

* Fix tests

---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-06-26 10:19:40 +02:00
Ryan McKinley
4651506319 K8s/Dashboards: Replace multiple calls with a single endpoint (#89639) 2024-06-26 07:27:52 +03:00
Kevin Minehart
3ede2dba24 CI: add release comms workflow (#89718)
* add release comms workflow

* add version input

* Add release-comms workflow to CODEOWNERS
2024-06-25 16:37:38 -05:00
grafana-delivery-bot[bot]
3e6d073140 Changelog: Updated changelog for 10.3.7 (#89728)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 17:11:40 -04:00
Juan Cabanas
0d276fe7b1 Share Externally: Texts modification (#89640) 2024-06-25 17:52:41 -03:00
grafana-delivery-bot[bot]
2fb7b18ead Changelog: Updated changelog for 10.2.8 (#89725)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 16:46:38 -04:00
Joseph Perez
d49a3e98dc Docs: Edit of 3 files in backend contributor guide (part 6 of doc quality improvement project) (#89582)
* Docs: edit of 3 files in backend contributor guide

* Update contribute/backend/database.md

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

* Fix from review

* Update contribute/backend/database.md

* Update contribute/backend/errors.md

* Update contribute/backend/errors.md

* Fix header levels

* Style edits

* Prettier fixes

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-25 12:28:22 -07:00
grafana-delivery-bot[bot]
594deb2cbe Changelog: Updated changelog for 9.5.20 (#89721)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 15:25:28 -04:00
Mitch Seaman
d610bdf25d advertise RBAC for silences better (#89644) 2024-06-25 15:08:42 -04:00
Kevin Minehart
8f9d2eba69 CI: Don't use slim image for bump-version (#89689)
don't use slim image
2024-06-25 14:03:30 -05:00
Isabel Matwawana
920c9bb771 Docs: Add release stage note to text wrapping (#89716) 2024-06-25 18:38:27 +00:00
Mitch Seaman
a7499c1dde Docs: Add more info and link to text wrap content (#89625)
* Remove duplicate Wrap Text docs

Remove duplicate line and refer to field overrides

* Updated link formatting

* Fixed heading level

* Removed H4 wrap text heading

* Light restructuring to add heading for wrap text

* Removed unnecessary section

* Added release stage note

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-25 18:27:55 +00:00
Matthew Jacobson
83d05ea777 Alerting: Fix broken state tests (#89712) 2024-06-25 14:19:46 -04:00
Isabel Matwawana
3a055735dd Docs: Add youtube links to What's new 11.1 (#89694) 2024-06-25 14:04:59 -04:00
Nathan Marrs
a095276753 Canvas: Fix off center element item in editor list (#89577) 2024-06-25 10:04:39 -07:00
Matthew Jacobson
47c9259d75 Alerting: Ensure we update State.LastSentAt before persisting (#89427) 2024-06-25 13:01:26 -04:00
Leon Sorokin
0f01db4025 VizTooltip: Keep visible while hovering during data updates (#89708) 2024-06-25 20:00:47 +03:00
ismail simsek
1ebc610064 Chore: Update github addToProject commands for influxdb, graphite, opentsdb (#89700)
revert unrelated changes
2024-06-25 19:29:50 +03:00
antonio
891cc0512f alerting: teams contact point + updates (#89695)
* alerting: teams contact point + updates

* typo

* all pretty no pity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* formatting

* formatting

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-25 17:52:53 +02:00
Jake Leahy
2bd95b2eb5 Prometheus: Fix quote stripping in parser (#87675)
* Prometheus: Fix quote stripping in parser

Currently only double quotes are stripped from the end, while single quotes are left. Moreover, double quotes are stripped even when part of the value

* Prometheus: Double escape the string, apply linting fixes for files that I touched
2024-06-25 17:39:32 +02:00
Bogdan Matei
0ea2d6972f Scopes: Allow navigating to inner containers (#89676)
Scopes: Allow navigating to inner levels after selecting a scope
2024-06-25 18:31:31 +03:00
Laura Fernández
a3879e02bb RestoreDashboards: Create FE feature toggle (#89655) 2024-06-25 16:43:13 +02:00
ismail simsek
a3a6d01529 Update codeowners (#89672)
* Update codeowners of /public/app/features/trails/

* revert unrelated changes
2024-06-25 16:39:30 +02:00
Ashley Harrison
7b88de9946 Chore: Move font-awesome styles back to SCSS (#89687)
move font-awesome styles back to scss for performance reasons
2024-06-25 15:28:24 +01:00
William Wernert
fcfa89f864 Alerting: Implement Prometheus remote write for recording rules (#89189)
* Fix timestamp recorded by rule

* Implement prometheus remote write

* Create http client instead of transport

* Address PR comments

* Remove status code label
2024-06-25 17:23:42 +03:00
Bogdan Matei
e4b9f356bc Scopes: Implement radio buttons for containers with single node selection (#89674) 2024-06-25 17:10:36 +03:00
Todd Treece
71270f3203 Storage: Avoid relying on RequestInfo (#89635) 2024-06-25 10:06:03 -04:00
Isabel Matwawana
4cf3ebbb3d Docs: Manage playlists updates (#89573)
* Made updates to add dashboard controls changes; also fixed styling issues and consolidated some tasks

* Made minor edits

* Committed suggestion from review

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>

* Update docs/sources/dashboards/create-manage-playlists/index.md

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

* Apply suggestions from code review

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

---------

Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
2024-06-25 13:51:39 +00:00
Yuri Tseretyan
4a5aab54a5 Alerting: Add max limit for Loki query size in state history API (#89646)
* add setting for query limit

* update BuildLogQuery to return error if limit is exceeded

* move tests for BuildLogQuery to separate suite
2024-06-25 09:20:38 -04:00
Kristin Laemmert
9a3477dd11 Chore: removing (more) redundant transactions (#89373)
* remove redundant transactions from single-statement sql methods
2024-06-25 09:19:49 -04:00
Joey
66dc20f46f Tempo: Upgrade interpolation for Tempo (#89664)
Upgrade interpolation for Tempo
2024-06-25 14:06:51 +01:00
Laura Benz
5da94bb669 RestoreDashboards: Add an empty state (#89662)
* feat: add empty state

* fix: flickering

* Update public/app/features/browse-dashboards/RecentlyDeletedPage.tsx

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2024-06-25 16:04:20 +03:00
grafana-delivery-bot[bot]
13a4a46cc1 Changelog: Updated changelog for 10.4.5 (#89681)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 12:24:15 +00:00
Bogdan Matei
09ec999862 Scopes: Implement clear search for dashboards list (#89657) 2024-06-25 15:22:02 +03:00
Ivan Ortega Alba
6773f7f4ce Scenes: Repeat horizontally set the width to 24 even if repeat variable is not set (#89658) 2024-06-25 14:10:00 +02:00
Javier Ruiz
df4b280134 Trace View: Add Session for this span button (#89656)
* Add ability to show Session for this span button in trace view

* Add session link when fe o11y ids are available

* Add tests for creating session links

* Also check for session id written following otel semantic convention
2024-06-25 13:48:06 +02:00
Chris Hodges
0759c98504 Tempo: Fix user facing typo in pipeline operator error message (#89638)
Tempo: Fix user facing typo in TraceQL pipeline operator error message
2024-06-25 12:45:16 +01:00
Ashley Harrison
47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00
Beto Muniz
d7c33db7db GOps: Add Grafana SLO steps to IRM configuration tracker (#88098) 2024-06-25 08:39:03 -03:00
Alex Khomenko
a9aba2b42f TimeRangePicker: Add weekStart prop (#89650)
* TimeRangePicker: Add weekStart prop

* Set week start from config

* Use week start from dashboard

* Revert

* Add comment

* Tweak comment

* Add WeekStart type
2024-06-25 14:22:55 +03:00
Gilles De Mey
87b8da1719 Alerting: Limit instances on alert detail view unless in instances tab (#89368) 2024-06-25 13:19:43 +02:00
Ashley Harrison
b59ebf85bc Chore: Attempt to make keybinds e2e test more stable (#89663)
* attempt to make test more stable

* split everything instead
2024-06-25 12:18:45 +01:00
grafana-delivery-bot[bot]
a7dd94b788 Changelog: Updated changelog for 11.0.1 (#89673)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-25 12:58:04 +02:00
linoman
ccb22e5b24 SAML: graph api follow up (#89389)
* add new graph api variables to saml strategy

* add  config variable
2024-06-25 12:19:47 +02:00
grafana-delivery-bot[bot]
91628158f2 Changelog: Updated changelog for 11.1.0 (#89659)
* Changelog: Updated changelog for 11.1.0

* Linting

---------

Co-authored-by: grafanabot <bot@grafana.com>
Co-authored-by: Fabrizio <fabrizio.casati@grafana.com>
2024-06-25 11:36:54 +02:00
Dominik Prokop
216ec7cbdf Scopes: Fix free text input crash (#89652) 2024-06-25 12:18:30 +03:00
Karl Persson
eea7319a67 Zanzana: sqlite data store (#89486)
* Zanzana: Add sqlite3 store

* Zanzana: Initilize sqlite store with migrations
2024-06-25 09:52:33 +02:00
Laura Fernández
fd96edaef7 POC: Disable ConfirmButton (#89539) 2024-06-25 09:42:18 +02:00
Alexander Akhmetov
2035814059 Alerting: fix updating error in the alert rule state during error to error transitions and restarts (#89557)
Alerting: fix preserving errors in the alert rule state during error to error transitions

Alert state transition from one error to another did not update state.Error correctly.
The error in state.Error remained as the initial error encountered.
This led to another issue, where after a Grafana restart, the error was lost because
the state of the alert rule did not change, but the Error is not preserved in the database
between restarts.

This could happen if the expression service returned an error or the alert routine panicked
during querying.
2024-06-25 09:42:00 +02:00
brendamuir
3a29f68d0c Alerting docs: vale fixes (#89604)
* Alerting docs: vale fixes

* fix numbering

* Alerting docs: monitor errors

* takes out will

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

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

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

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

* Update docs/sources/alerting/configure-notifications/template-notifications/images-in-notifications.md
2024-06-25 08:14:16 +02:00
Michael Mandrus
4d69213829 CloudMigrations: Break snapshot resources out into their own table (#89575)
* create a new table for migration resources

* remove raw result bytes from db

* more snapshot resource management stuff

* integrate new table with snapshots

* pass in result limit and offset as params

* combine create and update

* set up xorm store test

* add unit tests

* save some cpu

* remove unneeded arg

* regen swagger

* fix bug with result processing

* fix update create logic so that uid isn't required for lookup

* change offset to page

* regen swagger

* revert accidental changes to file

* curl command page should be 1 indexed
2024-06-24 23:50:07 -04:00
Isabel Matwawana
dfee2720cc Docs: What’s new & Upgrade guide v11.1 (#89075)
Co-authored-by: Mitch Seaman <mjseaman@users.noreply.github.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-24 16:38:41 -04:00
Juan Cabanas
d07dc3bf40 ShareDrawer: Share Internally (#89315) 2024-06-24 16:31:42 -03:00
Chirag Gomber
ca1afff886 Chore: Remove deprecated Layout components (#89376)
* Removed depricated HorizontalLayout from PrometheusMetricsBrowser

* Removed commented import

* typo fix

* Removed depricated HorizontalLayout from RawInfluxQLEditor

* Replaced InlineFormLabel to InlineField in RawInlfuxEditor.tsx

* Removed depricated HorizontalLayout from GraphiteFunctionEditor

* Changed div to instead use stack

* Changed htmlFor attribute from selectElementId to aliasElementId

* Updated the betterer results

* Updated prettier write to the updated files

* Changed htmlFor label to fix the text
2024-06-24 20:59:41 +02:00
Kevin Minehart
07389d1030 CI: auto-milestone needs repo write access (#89633)
auto-milestone needs repo write access
2024-06-24 21:09:05 +03:00
Darren Janeczek
f5d9c247d9 fix: pyroscope datasource remove link extension (#89512)
It has been decided that we will not be using this moving forward.
2024-06-24 13:11:03 -04:00
Ashley Harrison
7d8afd9578 Tab: Improve accessible name (#89602)
* replace aria-label selector with data-testid

* fix unit tests

* fix e2e selectors

* fix last unit test

* fix e2e tests

* fix casing

* fix e2e test

* fix casing
2024-06-24 17:48:26 +01:00
Andrew Hackmann
5a8eff096a Update CODEOWNERS (#89629)
* Update CODEOWNERS

Partner datasources taking over opentsdb, graphite, and influxdb

* updating backend and frontend code owner to partner
2024-06-24 11:40:49 -05:00
Ashley Harrison
1e51557edc PageLoader: Fix scrollbar appearing on page loader (#89627)
fix scrollbar appearing on page loader
2024-06-24 19:26:50 +03:00
Haris Rozajac
e9ee65924b Chore: Remove explore content outline feature toggle (#89277)
Remove explore content outline feature toggle
2024-06-24 09:45:42 -06:00
Isabel Matwawana
164bd86982 Docs: Edit mode updates 3 (#89565)
* Made edit mode updates in Manage library panels

* Made edit mode updates to Manage library panels

* Made edit mode updates to Inspect variables and fixed formatting

* Wording and formatting edits

* Added note about shortning process

* Reverted change to remove this file from the PR

* Made small fixes

* Fixed wording and formatting
2024-06-24 17:37:01 +02:00
Ryan McKinley
579bfa477e K8s: improve frontend resource client (#89621) 2024-06-24 18:25:04 +03:00
Sergej-Vlasov
4e0c3555df DashboardScene: Include scenes e2e in pr checks (#89297)
* adjust drone to run scenes e2e alongside

* adjust typo in scenes e2e folder name for consistency

* fix select options selector inssue with scenes bump

* skip tests in old arch that result in race conditions

* skip more flaky tests due to race conditions

* skip scenes e2e instead of old arch in case of race condition

* update to latest scenes version

* skip test due to race conditions

* skip flaky race condition test

* modify and sign drone pipeline

* remove unnecessary edits

* resolve merge conflicts and regenerate drone.yml
2024-06-24 17:57:50 +03:00
Christopher Lord
d701c181e1 chore: rename 'Incidents' sidebar to 'Incident' (the product name) (#87396)
* chore: rename 'Incidents' sidebar to 'Incident' (the product name)

* run make i18n-extract
2024-06-24 17:55:53 +03:00
Rajguru
1b2f110664 Users: Add config option to control how often last_seen is updated (#88721)
Users: Add config option to control how often last_seen is updated

Co-authored-by: Karl Persson <kalle.persson92@gmail.com>
2024-06-24 16:54:56 +02:00
Juan Cabanas
399651b9ad ShareDrawer: Share snapshot (#89195) 2024-06-24 10:26:06 -03:00
ismail simsek
946545cfc5 Chore: Move LocalStorageValueProvider under @grafana/data pacakge (#89580)
Rehome LocalStorageValueProvider
2024-06-24 15:06:49 +02:00
Gilles De Mey
e84e0c9f08 Alerting: Make alert group editing safer (#88627) 2024-06-24 16:04:43 +03:00
Marcus Andersson
04f39457cf Chore: Remove sensitive information from presigned URLs prior to logging (#87035)
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
Co-authored-by: Dan Cech <dcech@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2024-06-24 14:53:42 +02:00
Dominik Prokop
96fda0d6ea NavToolbarActions: Make sure ToolbarActions are renrendered when needed (#89615) 2024-06-24 14:52:02 +02:00
Ashley Harrison
a89deaeb73 BrowseDashboards: Stop caching getAffectedItems (#89609)
stop caching getAffectedItems since alert rule/library panel creation isn't in rtkquery
2024-06-24 13:28:44 +01:00
antonio
6a68cc87a9 alerting tutorial fixes (#89606) 2024-06-24 13:01:14 +02:00
github-actions[bot]
78a85126f5 I18n: Download translations from Crowdin (#89503)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-24 13:48:23 +03:00
Ashley Harrison
7939745411 Chore: SCSS cleanup (#89563)
* fix fonts loading from CDN

* migrate font-awesome styles to emotion globals

* fix font-awesome rendering

* remove storybook scss overrides

* fix storybook theme imports
2024-06-24 11:42:16 +01:00
Gábor Farkas
bcb23630d0 docs: update dashboard-variable docs (#88824)
* docs: update dashboard-variable docs

* better text

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>

* formatting fix

* fixed indentation

* more indent fixes

* better text

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

* better text

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

---------

Co-authored-by: Alexa V <239999+axelavargas@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-24 12:40:08 +02:00
Alex Khomenko
c778b16570 i18n: Use generated token (#89605) 2024-06-24 13:32:23 +03:00
Josh Hunt
51afe257a3 CI: Run auto-milestone on pull_request_target for forks (#89410)
* CI: Run auto-milestone on pull_request_target for forks

* remove milestone check
2024-06-24 11:18:30 +01:00
Ieva
2bc75016da Docs: fix a typo (#89603)
Fix a typo
2024-06-24 10:27:48 +01:00
Isabel Matwawana
c7ec41e8c5 Docs: Edit mode updates 4 (#89581)
* Replaced three screeshots

* Replaced grafana URIs with cloud ones

* Updated main screenshot and descriptions

* Updated descriptions and added links
2024-06-24 09:09:41 +02:00
Alex Khomenko
b971f94bb6 Announcement banner: Update docs (#89599)
* Announcement banner: Update docs

* Fix draft
2024-06-24 10:07:10 +03:00
Erik Sundell
fc17dc4d6a Plugin E2E: Add alerting tests (#88909)
add alerting tests
2024-06-24 08:39:43 +02:00
pmo
baf2e4d43c Fix typo in API key (#89568) 2024-06-23 21:58:59 +01:00
Gilles De Mey
c0641a0ca6 Devenv: Allow configuring alertmanager config for prometheus docker block (#89558) 2024-06-22 11:20:51 +00:00
Jean-Philippe Quéméner
bc43078320 fix(grafana-apps): copy namespace from connect ctx (#89569) 2024-06-21 20:05:55 +03:00
Leonor Oliveira
e216de56e6 Unified Storage: Always populate RV and UID on create (#89554) 2024-06-21 17:37:53 +01:00
ismail simsek
dd15c825f0 Chore: Export SelectMenuOptions (#89546)
export SelectMenuOptions
2024-06-21 17:00:07 +02:00
Alexa V
7feea32602 DashboardScene: Fix dashboard clear when row repeating with non-existing variable (#89559)
---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2024-06-21 17:59:38 +03:00
Isabel Matwawana
b62f8c0f19 Docs: Edit mode updates 2 (#89520) 2024-06-21 10:02:16 -04:00
Jack Westbrook
af9538ce55 Chore: Remove yarn@1 and @types/add from package.json (#89535)
chore(npm): remove unused yarn@1.x and @types/add from root package.json
2024-06-21 13:54:35 +00:00
Ashley Harrison
3c15781788 Panel: Fix text aliasing bug when panel is loading (#89538)
* place loading bar animation in its own stacking context to prevent aliasing of text

* add comment
2024-06-21 14:40:51 +01:00
Michael Mandrus
89337ea01f CloudMigrations: Add unit tests for snapshot management (#89521)
* add regex support for api tests

* revert dumb thing

* add api tests

* add unit test for core async workflow

* add xorm store unit tests

* fix typo

* remove unnecessary assignment
2024-06-21 16:35:15 +03:00
Ryan McKinley
70cd002826 Storage: Make entity to runtime.Object conversion public (#89549)
* make conversion public

* make conversion public
2024-06-21 16:28:09 +03:00
Kim Nylander
9f04b6d6a8 Add note for streaming TraceQL results for GET and/or Tempo setups using intermediary proxies (#89251)
Co-authored-by: Jennifer Villa <jvilla2013@gmail.com>
2024-06-21 09:12:08 -04:00
Mihai Doarna
02b0b7af16 SSO: Add basic validation rules for LDAP settings (#89548)
add basic validation rules for LDAP settings
2024-06-21 15:48:19 +03:00
Kristin Laemmert
ab5a079bcc Fix: add mapping for the new mysqlRepl driver (#89551) 2024-06-21 08:35:46 -04:00
Misi
4be92ed111 Docs: Improve Okta docs (#89453)
* Improve Okta docs

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

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-21 13:25:11 +02:00
Ivan Ortega Alba
aea894191b Home: Remove extra padding for dashboard home (#89432) 2024-06-21 13:16:16 +02:00
Josh Hunt
06a1e8e22b RecentlyDeleted: Update Search table for deleted items (#89311)
* RecentlyDeleted: Show hard delete date

* format date

* don't crash when <60 minutes

* tooltip

* reimplement course duration

* oops fixed missed units

* cleanup
2024-06-21 13:58:28 +03:00
ismail simsek
957957e62a Chore: Move amendTimeSeries in @grafana/data package (#89456)
* move amendTimeSeries in @grafana/data package

* betterer and prettier
2024-06-21 13:39:42 +03:00
kay delaney
d750af0c48 Scenes: Unset _changesWorker when change tracker is terminated (#89495)
* Scenes: Unset _changesWorker when change tracker is terminated

Closes #89458
2024-06-21 13:18:52 +03:00
Jack Westbrook
e5474511d8 Plugins: Introduce magic modules to fe sandbox loader (#89274)
* feat(fe-sandbox): introduce module and exports magic modules to executed plugin code

* refactor(fe-sandbox): rename module and exports vars for clarity
2024-06-21 11:35:02 +02:00
Gabriel MABILLE
f0ff7d57b4 RBAC: Allow folders actions in plugins roles (#89523)
* Allow some additional core actions for plugins

* typo

* Test nit.
2024-06-21 12:08:30 +03:00
Ashley Harrison
be65aaf5dc Chore: Clean up some more old SCSS (#89404)
* remove/migrate normalize.scss

* fix typo

* migrate _add_data_source styles

* migrate panel-header styles

* migrate slate styles to emotion globals

* put back a couple of classes used by external plugins
2024-06-21 10:03:57 +01:00
Ashley Harrison
8840471574 Internationalisation: Update docs with nested variable examples (#89484)
* update i18n docs to handle interpolating variables inside inner components

* update with wrapping component example
2024-06-21 09:48:40 +01:00
antonio
5e75c0d179 tutorials:alerting:get-started-p2 (#89477)
* tutorials:alerting:get-started-p2

* author,figures

* link, numbering, note

* fix,title

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

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

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

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

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

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

* alt text

* Revert "alt text"

This reverts commit 511a946158.

* alt-text-pt2

* all pretty no pity

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-21 08:40:49 +00:00
Jo
d972bdca08 Docs: Add fixed role UUIDs to docs for terraform provisioning (#89457)
* add role UUID to docs

* add table description and terraform hyperlink
2024-06-21 08:20:02 +00:00
Ryan McKinley
93ef90a1e4 K8s: remove (not great) example api (#89524) 2024-06-21 10:23:08 +03:00
Miklós Tolnai
f74afa5e7f Codeowners: Remove @mikkancso from codeowners (#89471)
remove mikkancso from codeowners
2024-06-21 09:54:12 +03:00
Darren Janeczek
61a102274d datatrails: only store bookmark state instead of the entire trail step history (#86929)
only store bookmark state instead of the entire step history
2024-06-20 22:13:51 -04:00
Jev Forsberg
491101bc8c Automation: Verify release artifacts on grafana.com (#89197)
* baldm0mma/verify_release/ create verify_release_for_download function

* baldm0mma/verify_release/ add name, image, env

* baldm0mma/verify_release/ add initial commands

* baldm0mma/verify_release/ add deps?

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ add anno to lib-star

* bald0mma/verify_release/ update func name to verify_grafanacom_step

* baldm0mma/verify_release/ add verify shell script

* baldm0mma/verify_release/ add script content, first attempt

* baldm0mma/verify_release/ add node image to verify_grafanacom_step

* baldm0mma/verify_release/ add gcom secret note

* baldm0mma/verify_release/ add sudo to apt-get

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ add anno to secrets

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

* baldm0mma/verify_release/ update annos

* baldm0mma/verify_release/ update tag variable

* baldm0mma/verify release/ add whitespace

* baldm0mma/verify_releases/ update with no bash loops

* baldm0mma/verify_release/ update exit logic

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_releasse/ resign and build yml

* baldm0mma/verify_release/ remove annos

* baldm0mma/verify_release/ update signature

* baldm0mma/verify_release/ download curl

* baldm0mma/verify_release/ remove temp key folder removal

* baldm0mma/verify_release/ account for artifact download time

* baldm0mma/verify_release/ add anno

* baldm0mma/verify_release/ update location

* baldm0mma/verify_release/ update script

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ update script for oss or ent

* baldm0mma/verify_release/ add promotion option

* baldm0mma/verify_release/ make drone

* Update scripts/drone/events/release.star

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

* Update scripts/drone/steps/lib.star

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

* Update scripts/drone/steps/lib.star

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

* baldm0mma/verify_release/ update drone

* Update scripts/drone/events/release.star

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

* baldm0mma/verify_release/ update drone

* Update scripts/drone/steps/lib.star

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

* Apply suggestions from code review

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

* baldm0mma/update drone

* baldm0mma/verify_release/ update path

* baldm0mma/verify_release/ make drone

* baldm0mma/update drone

* Apply suggestions from code review

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

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

* baldm0mma/verify_release/ make drone

* baldm0mma/verify_release/ make format-drone

* baldm0mma/verify_release/ rem unused var

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2024-06-20 17:20:49 -06:00
Yuri Tseretyan
b075926202 Alerting: Time Intervals API (#88201)
* expose ngalert API to public
* add delete action to time-intervals
* introduce time-interval model generated by app-platform-sdk from CUE model the fields of the model are chosen to be compatible with the current model
* implement api server
* add feature flag alertingApiServer
---- Test Infra
* update helper to support creating custom users with enterprise permissions
* add generator for Interval model
2024-06-20 16:52:03 -04:00
Matthew Jacobson
3228b64fe6 Alerting: Resend resolved notifications for ResolvedRetention duration (#88938)
* Simple replace of State.Resolved with State.ResolvedAt

* Retain ResolvedAt time between Normal->Normal transition

* Introduce ResolvedRetention to keep sending recently resolved alerts

* Make ResolvedRetention configurable with resolved_alert_retention

* Tick-based LastSentAt for testing of ResendDelay and ResolvedRetention

* Do not reset ResolvedAt during Normal->Pending transition

Initially this was done to be inline with Prom ruler. However, Prom ruler
doesn't keep track of Inactive->Pending/Alerting using the same alert instance,
so it's more understandable that they choose not to retain ResolvedAt. In our
case, since we use the same cached instance to represent the transition, it
makes more sense to retain it.

This should help alleviate some odd situations where temporarily entering
Pending will stop future resolved notifications that would have happened
because of ResolvedRetention.

* Pointers for ResolvedAt & LastSentAt

To avoid awkward time.Time{}.Unix() defaults on persist
2024-06-20 16:33:03 -04:00
Kristina
3044319039 Explore: Allow Query Library drawer to delete queries (#89343)
* WIP

* WIP

* Add URL additions to query library API

* Add tag invalidation for refresh

* add styles

* Add verbiage from prototype

* Translations generation
2024-06-20 15:20:10 -05:00
Ryan McKinley
5e95c1bdf8 Storage: Move grpc helper from entity store to resource store (#89490) 2024-06-20 22:32:19 +03:00
Kristin Laemmert
d988f5c3b0 fix: sql instrumentation dual registration error (#89508)
fix dual registration error
2024-06-20 14:45:39 -04:00
Larissa Wandzura
880c180424 Docs: Fixed broken links on Prometheus data source page (#89485) 2024-06-20 21:30:28 +03:00
Kevin Minehart
78e9226ad8 CI: Add bump-version action to the release PR workflow (#89491) 2024-06-20 13:15:09 -05:00
William Wernert
c2c30c25ed Notifications: Do not log email address in error message (#89314)
Do not log email address in error message
2024-06-20 12:52:44 -04:00
Laura Benz
7c868e9b52 RestoreDashboards: Create deletion process (#89234)
* feat: add button

* feat: add modal

* refactor: move component

* feat: add backend handling

* fix: opening the modal

* feat: adjust modal content

* feat: adjust old delete modal

* feat: add text to old delete modal
2024-06-20 18:18:11 +02:00
Bogdan Matei
543e71eb28 Scopes: Pass selected scopes to dashboard JSON fetching (#89157) 2024-06-20 18:49:19 +03:00
Tom Ratcliffe
c88de7f4d0 Alerting: Don't crash the page when trying to filter rules by regex (#89466) 2024-06-20 16:24:49 +01:00
Ryan McKinley
27e800768e K8s: Improve identity mapping setup (#89450) 2024-06-20 17:53:07 +03:00
Andre Pereira
fc4a9904c9 Tempo: TraceQL metrics step option (#89434)
* Add step option for metric queries

* Add support for compare metric queries

* Remove unneeded line

* Delete step if it's not defined
2024-06-20 15:22:50 +01:00
Alex Khomenko
c8f18023d3 Announcement banner: Add docs (#89455)
* Announcement banner: Add docs

* Add draft state
2024-06-20 17:11:56 +03:00
Sonia Aguilar
ffe755f95d Alerting: Add warning in telegram contact point (#89397)
* Add warning in telegram contact point

* Protect possible undefined in settings

* Address review comments
2024-06-20 17:00:57 +03:00
Isabel Matwawana
10b6011dd7 Docs: Edit mode updates (#89438) 2024-06-20 09:53:21 -04:00
Isabel Matwawana
13e069b5af Docs: Fix broken link (#89441) 2024-06-20 09:52:31 -04:00
Tobias Skarhed
924a94cf80 New Select: Use virtual list (#89290)
* use react-virtual

* Render story with 100k items

* Dyanmic height and TanStack

* Remove weird item

* Add numberOfOptions to story

* Update class name

* Update class name
2024-06-20 16:51:17 +03:00
Ryan McKinley
6834038e91 Storage: Add new resource module and move some utilities (#89443) 2024-06-20 16:11:21 +03:00
Dave Henderson
1cc58d19f5 ci: Only run vuln scanner when Go deps are updated (#89433)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-20 09:07:15 -04:00
Kristina
b7df121294 Explore: Change Logs.tsx to a functional component (#87808)
* First pass

* WIP

* why is my cpu angy

* Avoid triggering onHiddenSeriesChanged too often

onHiddenSeriesChanged should be called only when dataWithConfig changes, not when the callback changes itself.

This is actually causing an infinite loop because onHiddenSeriesChanged may not be memoized in the parent and passed as a  new callback function on each render.

* fix tests

* Remove store mock and clear store between tests instead

* Fix filtering

* First pass adding callbacks and dependencies

* Add useRef hook for toggleLegend and topLogsRef

* Remove unwanted reactivity

register(...) changes outlineItems. A function that calls register(...) behaves like a setter for the state - it cannot react to the state itself.

* Separate unmount clean-ups

* Ensure unmount is not reactive to props

* Make memoized functions stats

* Wrap functions passed down to components with useCallback

* Fix reporting interaction when context is closed

* Adjust several variables to use refs

* Post-merge fixes

* Ensure scrollIntoView is called with a ref to the container

* Update docs

* Ensure scrollIntoView is updated only if the scroll element changes

* Fix the default pinned log tooltip

* Small clean up

* Remove console.log()

---------

Co-authored-by: Piotr Jamroz <pm.jamroz@gmail.com>
Co-authored-by: harisrozajac <haris.rozajac12@gmail.com>
2024-06-20 15:04:44 +02:00
ismail simsek
2a714601a7 Chore: Remove prometheusIncrementalQueryInstrumentation feature toggle (#89463)
* remove prometheusIncrementalQueryInstrumentation feature toggle

* remove profile method

* remove more about profiling
2024-06-20 15:04:22 +02:00
Timur Olzhabayev
78c8a26906 Chore: Adding build number to plugin schema (#89464)
adding build number
2024-06-20 13:51:51 +02:00
Andres Martinez Gotor
44fd13c742 Repurpose wrong datasource UID feature flag (#89363) 2024-06-20 12:56:39 +02:00
github-actions[bot]
bf3a383489 I18n: Download translations from Crowdin (#89401)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-20 11:53:46 +01:00
renovate[bot]
52a824f4ed Update dependency @grafana/scenes to v5.1.2 (#89454)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 12:53:56 +03:00
Bogdan Matei
f04abb414d Scopes: Fix preserving scopes when accessing a dashboard only by uid (#89406) 2024-06-20 11:49:23 +03:00
Alexander Zobnin
ba16c37126 Zanzana: Simple openfga client wrapper (#89430) 2024-06-20 10:37:16 +02:00
Tobias Skarhed
df987fe2e5 PanelChrome: Use labelledby for accessible title (#88781)
* Add labelledby to PanelChrome

* Fix React's subpar useId

* No labelledby if there is no title
2024-06-20 09:43:46 +02:00
Joey
76c1750d38 Tempo: Remove kind=server from metrics summary (#89419)
* Update query / messaging

* Update field

* Update test
2024-06-20 08:17:53 +01:00
Andres Martinez Gotor
5f44c97e5f API Servers: Avoid crashing on panic (#89281) 2024-06-20 09:10:03 +02:00
Yuri Tseretyan
92f10b73a8 Alerting: Move interface Namespaced from accesscontrol to models package (#89439)
move Namespaced interface from accesscontrol to models
2024-06-19 16:18:33 -04:00
Kyle Cunningham
5d328983a1 Table: Don't wrap text labels for gauge cells (#88005)
Don't wrap text

Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2024-06-19 19:12:11 +03:00
Victor Marin
13e16a4142 Transformations: Fix filter by value error on interpolation (#89418)
* string check before interpolation

* refactor
2024-06-19 18:16:04 +03:00
jvaelen
fa3679d29b Docs: correct tracesToLogsV2 example span time shifts (#88421)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-19 16:01:02 +01:00
Tobias Skarhed
4a74330a09 TimeRangePicker: Improve screen reader support (#89409)
* Aria-expanded and tabs

* Remove weird prop

* Remove unused import

* Fix padding

* Use useId
2024-06-19 16:45:05 +02:00
Gilles De Mey
781e394118 Alerting: Skip loading alert rules for dashboards when disabled (#89361) 2024-06-19 16:29:44 +02:00
Gilles De Mey
64e134c601 Alerting: Do not check evaluation interval for external rulers (#89354) 2024-06-19 16:28:46 +02:00
Gilles De Mey
86ac40418d Alerting: Do not count rule health for totals (#89349) 2024-06-19 16:28:00 +02:00
Oleg Zaytsev
ef921fee3d Document Unix ms format for time type parsing (#89147)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2024-06-19 17:19:40 +03:00
Karl Persson
3fe29809be Zanzana: database migrations (#89390)
* Zanana: Use grafana migrations to run openFGA migration files and initilize store.

* Add feature toggle

* Zanzana: return noop client if feature toggle is disabled
2024-06-19 15:59:47 +02:00
Ashley Harrison
e1be01f482 Chore: Fix drone build (#89407)
sign drone
2024-06-19 14:30:39 +01:00
Jo
bffe086cea Update IAM for more fine grained mentions (#89333)
Update IAM for more fine grained mentions
2024-06-19 15:24:39 +02:00
Michael Mandrus
8a8f97b0e4 CloudMigrations: Implement snapshot management apis (#89296)
* add new apis

* add payloads

* create snapshot status type

* add some impl

* finish implementing update

* start implementing build snapshot func

* add more fake build logic

* add cancel endpoint. do some cleanup

* implement GetSnapshot

* implement upload snapshot

* merge onprem status with gms result

* get it working

* update comment

* rename list endpoint

* add query limit and offset

* add helper method to snapshot

* little bit of cleanup

* work on swagger annotations

* manual merge

* generate swagger specs

* clean up curl commands

* fix bugs found during final testing

* fix linter issue

* fix unit test
2024-06-19 09:20:52 -04:00
Joey
d928fac5c3 Datasources: Upgrade data source configs for several data sources (#89365)
Upgrade data source configs for several data sources
2024-06-19 13:39:41 +01:00
Ashley Harrison
ceaf510a7d Chore: SCSS cleanup (#89355)
* remove/migrate normalize.scss

* fix typo

* migrate _explore styles

* make json-formatter styles global
2024-06-19 13:28:00 +01:00
Stéphane Cazeaux
6b876f1e38 Prometheus: Fix interpolating adhoc filters with template variables (#88626)
* Prometheus: replace variables on adhoc filters

Fixes #87979

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

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

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

---------

Signed-off-by: Stéphane Cazeaux <stephane.cazeaux@orange.com>
2024-06-19 14:02:17 +02:00
Alexander Zobnin
b3907ca5ec Zanzana: Simple logger wrapper for openfga (#89396)
* Zanzana: Simple logger wrapper for openfga

* don't export
2024-06-19 13:55:31 +02:00
Dominik Prokop
d46df10d30 DashboardScene: Show dashboard not found view (#89342)
* DashboardScene: Show dashboard not found view

* Test fix

* Use correct selector
2024-06-19 13:33:29 +02:00
Steve Simpson
8eabef1f91 Alerting: Update remote alertmanager to use extended receivers API. (#89253)
* Alerting: Update remote alertmanager to use extended receivers API.

* Update integration test and Mimir image

* Update Mimir image in more places
2024-06-19 12:40:22 +03:00
Josh Hunt
db78604bd4 I18n: Add utility for locale-aware duration formatting (#89351)
* I18n: Add utility for locale-aware duration formatting

* fix message

* add fallback
2024-06-19 10:37:20 +01:00
Josh Hunt
b43411631b Echo: Don't notify if PerformanceBackend errors when flushing (#89379) 2024-06-19 10:00:49 +01:00
Nihal
a9736cf7dc InfluxDB: Fix query builder produces invalid SQL query when using wildcard column name (#89032)
* influx: changes to not wrap * with double quotes for column name

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

* added unit test for https://github.com/grafana/grafana/issues/88008

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

---------

Signed-off-by: Syed Nihal <syed.nihal@nokia.com>
2024-06-19 08:39:53 +02:00
Victor Marin
51c858f32e Fix dashboard crash on dashboard leave in panel edit (#89353)
* Fix dashboard crashing when leaving dashboard in panel edit

* add test

* test
2024-06-19 09:31:01 +03:00
ismail simsek
e5a50a7db8 InfluxDB: Fix sending range info on variable editor (#89347)
send range info in range field
2024-06-19 08:23:21 +02:00
ismail simsek
dfcda2b14a InfluxDB: Don't interpolate bucket keyword in flux language if it is part of a join query (#89298)
don't interpolate bucket keyword if it is part of a join query
2024-06-19 08:22:16 +02:00
ismail simsek
76047d9365 Prometheus: Don't use match[] parameter if there is no metric (#89352)
don't use match[] parameter if there is no metric
2024-06-19 08:19:49 +02:00
Yuri Kotov
a5e02f033a Prometheus: Fix query builder visualization when a query has by() clause for quantile (#88480)
Prometheus query builder: add support for by() clause for quantile aggregation
2024-06-19 08:19:27 +02:00
Leon Sorokin
74bcfb284c Heatmap: Use dashboard timeRange for auto-sizing x buckets (#89382) 2024-06-18 21:51:20 -05:00
Alexander Weaver
7c69f3657b Notifications: Redact URL from errors (#85687)
* Remove url logs and redact

* Reinclude redacted URL
2024-06-18 16:02:33 -05:00
Dave Henderson
3bbc821131 Metrics: Add ability to disable classic histogram for HTTP metric (#88315)
metrics: Add ability to disable classic histogram for HTTP metric

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-18 15:37:44 -04:00
Ryan McKinley
9b7f9ae22e K8s: Rename origin.key to origin.hash (#89337) 2024-06-18 22:27:16 +03:00
Joao Silva
b0c043de5f Fix: Portuguese Brazilian wasn't loading translations (#89302) 2024-06-18 18:06:35 +01:00
Travis Patterson
59f255bb7f Add info tooltips to logs that have been sampled by adaptive logs (#89320)
* Add info tooltips to logs that have been sampled by adaptive logs

* review commends and linter changes

* make warnings match info

* fix betterer results
2024-06-18 19:54:14 +03:00
Matias Chomicki
966cee864a LogRows: add missing call to close the popover (#89370) 2024-06-18 19:34:39 +03:00
Josh Hunt
6597bed9f7 Chore: Bump ws (#89371) 2024-06-18 19:26:02 +03:00
Fabrizio
f0270d8e31 Update code owners for O11Y package (#89334) 2024-06-18 18:05:55 +02:00
Laura Benz
34b3dbdbf3 RestoreDashboards: Adjust path (#89233)
* refactor: change path

* fix: page headline

* refactor: remove condition
2024-06-18 17:24:48 +02:00
Kristin Laemmert
50244ed4a1 Experimental Feature Toggle: databaseReadReplica (#89232)
This adds a version of the SQLStore that includes a ReadReplica. The primary DB can be accessed directly - from the caller's standpoint, there is no difference between the SQLStore and ReplStore unless they wish to explicitly call the ReadReplica() and use that for the DB sessions.

Currently only the stats service GetSystemStats and GetAdminStats are using the ReadReplica(); if it's misconfigured or if the databaseReadReplica feature flag is not turned on, it will fall back to the usual (SQLStore) behavior.

Testing requires a database and read replica - the replication should already be configured. I have been testing this locally with a docker mysql setup (https://medium.com/@vbabak/docker-mysql-master-slave-replication-setup-2ff553fceef2) and the following config:

[feature_toggles]
databaseReadReplica = true

[database]
type = mysql
name = grafana
user = grafana
password = password
host = 127.0.0.1:3306

[database_replica]
type = mysql
name = grafana
user = grafana
password = password
host = 127.0.0.1:3307
2024-06-18 11:07:15 -04:00
dependabot[bot]
791bcd93df Bump ws from 7.5.6 to 7.5.10 (#89362)
Bumps [ws](https://github.com/websockets/ws) from 7.5.6 to 7.5.10.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.5.6...7.5.10)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 17:05:43 +02:00
Ivan Ortega Alba
3fdc66d284 Scenes: Setting default_home_dashboard_path returns blank page and no controls (#89304) 2024-06-18 16:17:59 +02:00
Agnès Toulet
f0e63c6fd5 Doc: Update image rendering with HTTPS configuration (#88505)
* Doc: Update image rendering with HTTPS configuration

* add version

* Update docs/sources/setup-grafana/image-rendering/_index.md

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

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-18 16:11:59 +02:00
Dominik Prokop
ae04580e5f DashboardScene: Make Grafana usable when custom home dashboard is invalid (#89305)
* DashboardScene: Make Grafana usable when custom home dashboard is invalid

* Tests

* Remove console.error
2024-06-18 16:08:16 +02:00
Ashley Harrison
50dd95c09b Chore: Remove betterPageScrolling toggle (#89339)
* remove betterPageScrolling toggle

* add scrollTo test shim
2024-06-18 14:33:08 +01:00
Tom Ratcliffe
3badf73b45 Alerting: Fix setting of existing Telegram Chat ID value (#89287) 2024-06-18 14:24:23 +01:00
Ashley Harrison
890482052a Login: Fix Skip button alignment (#89332)
fix login skip button alignment
2024-06-18 15:35:45 +03:00
Agnès Toulet
44a40f8e0c E2E: Add SMTP tester (#88392)
* E2E: Add SMTP tester

* fix loadlocation issue when running tests on alpine

* temporary update

* add log

* update run-suite

* Update run-suite

* Update run-suite

* Update run-suite

* Update yarn.lock

* apply suggestions + cleanup logs

* update yarn.lock & package.json

* fix swagger
2024-06-18 14:32:19 +02:00
Kristin Laemmert
cc1d3d0f8d Chore(TeamService): remove extra Transaction from getTeamMember (#89308)
remove extra Transaction from getTeamMember
2024-06-18 07:51:50 -04:00
Mihai Doarna
d074cc7892 Auth: Implement reload function for LDAP (#89267)
* keep config in a separate struct in LDAP

* implement reload function for LDAP

* remove param from sso service constructor

* update unit tests

* add feature flag

* remove nil params

* address feedback

* add unit test for disabled config
2024-06-18 14:31:27 +03:00
Sofia Papagiannaki
0afbaa39df Dashboards: Fix restoring dashboard to root folder (#89020)
* Fix restoring dashboard to root folder

* use a root folder representation instead of nil

* change root folder by general folder

---------

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2024-06-18 14:21:40 +03:00
Ezequiel Victorero
b4c5c62f59 Chore: Update api docs reporting (#88878)
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2024-06-18 08:16:58 -03:00
Ivan Ortega Alba
3532d13f0c Chore: Regenerate OpenAPI specs to fix swagger (#89336) 2024-06-18 12:38:19 +02:00
Karl Persson
606a74d0af Zanzana: Initial work to run openFGA as embedded or standalone service (#89211)
* Zanana: Initial work to run zanana as ebeddedn or standalone

* Add addr settings for when remote client is used.

* sync dependencies

* Lock mysql driver version
---------

Co-authored-by: Dan Cech <dcech@grafana.com>
2024-06-18 10:04:18 +02:00
Pepe Cano
d0cf8956e2 Alerting docs: update Introduction page (#89155)
* Update Introduction page

* Update `How alerting works` image

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

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

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

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

* Fix `alt` attribute

* alert instance are sent `in` notifications

* Clarify `Notification policies`

* Clarify Notification Policy responsibilities

* Edit existing image captions

* change `configure a contact point` to `choose a contact point`

* Update image `caption/alt`

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-18 09:44:56 +02:00
Levente Balogh
1d6c9d4690 Plugin extensions: Return react components from usePluginComponents() (#89237)
feat: return with react components from `usePluginComponents()`
2024-06-18 09:40:25 +02:00
antonio
0cc67bb93d alerting: notes on label matchers (#89269)
* alerting: notes on label matchers

* routing clarification

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

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

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

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

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-18 09:22:23 +02:00
Ronan
3c5f07201e Tempo: Virtualized search dropdowns for attribute values (#88569)
* TraceQL: Make the search field component use the virtualized prop for performance gains

* Use act on timers to eliminate warningsd

* Update more timers to use act to fix testing library warnings

* Fix linting failure

* Run make commands

---------

Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com>
2024-06-18 08:20:06 +01:00
Ryan McKinley
ea7f6ea32f Explore: Avoid sending panelId header unless we are in a dashboard (#88255) 2024-06-18 07:31:42 +03:00
Gabriel MABILLE
5f83fdef2c AuthZ: GRPC client init and config options (#89161) 2024-06-18 06:13:24 +02:00
Kyle Cunningham
3776c44c33 Table component: Fix sub-table rows not displaying correctly (#89082)
* Fix expanded height issue

* Prettier

* 🙅‍♂️ to console.log
2024-06-18 03:19:00 +07:00
Adam Yeats
0bdd613f3b Azure Monitor: Add validation for namespace field in AdvancedResourcePicker when entering a forward slash (#89288)
* Add validation for namespace field in AdvancedResourcePicker when entering a forward slash

* Add test

* Fix formatting

* Remove unused import
2024-06-17 18:43:27 +01:00
ismail simsek
92233350f8 InfluxDB: Add custom metadata to the first frame via header (#88698)
* add custom metadata via header to the response

* use strings.CutPrefix instead of regex
2024-06-17 20:02:53 +03:00
Kim Nylander
2e918cbb9b [DOC] Add feature toggle for admin page (#88954)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-17 18:01:31 +01:00
Ivan Ortega Alba
0abe4fc709 Scenes: Be able to show/hide dashboard controls in Kiosk mode (#88920) 2024-06-17 17:58:48 +02:00
Ashley Harrison
7bb883e375 Analytics: Fix ApplicationInsights integration (#89299)
change ApplicationInsights backend to use SystemJS to load
2024-06-17 16:19:12 +01:00
Matias Chomicki
8c5a925202 LogRows: remove app restriction from popover menu (#89276)
* LogRows: remove app restriction from popover menu

* chore: update tests

* Prettier
2024-06-17 16:56:15 +02:00
Brendan O'Handley
8fddf30621 InfluxDB: Flight SQL test, add function to search for free port (#89255)
* add function to search for free port

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

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

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

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* fix test

* fix go linting issue

* fix go lint

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-17 09:16:52 -05:00
Josh Hunt
51c0644e41 RestoreDashboards: add IsDeleted and PermanentlyDeleteDate to deleted search (#89283)
RestoreDashboards: add IsDeleted and PermanentlyDeleteDate to deleted items in Search
2024-06-17 14:26:23 +01:00
Sonia Aguilar
e75fbe10ca Alerting: Central alert history (part1) (#88593)
* WIP

* Add barchart panel with scenes

* Fix timerange in barchart panel

* Refactor: component names

* Remove not used css styles and rename panel title

* Remove unnecessary HistoryEventsListObject class and update text in labels filter

* add padding top for filter

* Add translations

* update limit labels constant

* Update showing state reason

* Fix scene object

* Address review comments

* Update icons

* use endpoints instead of the autogenerated hook

* Address review comments

* Add tooltip for alert name

* use private polling interval

* fix autogenerated translations

* Address pr rewview comments

* Address review comments

* Update text in placeholder

* Rename variable and remove spaces in Trans children
2024-06-17 14:54:15 +02:00
Mihai Doarna
32d21356b9 Auth: Keep config in a separate struct in LDAP (#89149)
keep config in a separate struct in LDAP
2024-06-17 15:34:06 +03:00
Bogdan Matei
94e6bcd329 Scopes: Deduplicate the list of suggested dashboards (#89169) 2024-06-17 13:44:22 +03:00
Sergej-Vlasov
212c1477c2 DashboardScene: Adjust a11y tests errors (#89275)
adjust a11y tests errors
2024-06-17 13:31:52 +03:00
Steve Simpson
43a246f431 Alerting: Improve performance of /api/prometheus for large numbers of alerts. (#89268)
* Alerting: Optimize sorting alert instances.

* Also change other Labels fields for consistency
2024-06-17 12:25:47 +02:00
Darren Janeczek
a7726ff813 fix: "Feature toggles" sentence casing on menu item (#89249)
fix: sentence casing on menu item
2024-06-17 11:22:11 +01:00
Josh Hunt
8a891dcdc4 RestoreDashboards: Clear cached parent folders after restoring a dashboard (#89162)
* RestoreDashboards: Refresh parent folders after restoring a dashboard

* actually, just clear the cache

* less log

* refactor
2024-06-17 11:15:37 +01:00
Bogdan Matei
67f2d93281 Scopes: QoL UI fixes (#89158) 2024-06-17 13:00:20 +03:00
Ida Štambuk
ab2af9b8f7 Feature management: Add openSearchBackendFlowEnabled feature toggle (#89208) 2024-06-17 11:41:50 +02:00
Josh Hunt
d4bba872a1 LibraryPanels: Use new folder picker when creating a library panel (#89228)
LibraryPanels: Use new folder picker when creating a Library Panel
2024-06-17 10:19:57 +01:00
Tobias Skarhed
0107754da8 Select: Add orange indicator to selected item (#88695)
* Initial experiment

* Add pill and underline

* Text decoration for hover

* Only set underline on the title

* Remove underline from hover

* Remove underline alltogether
2024-06-17 10:39:28 +02:00
Dominik Prokop
ae80ed02e4 DashboardScene: Emit meta analytic view event (#89094)
* DashboardScene: Emit view event

* check fix
2024-06-17 09:14:27 +02:00
Diego Augusto Molina
b9812a0784 Unified Storage: Fix data races and context usage in broadcaster (#88955)
* Fix several broadcaster data races and error handling

- Separate concerns between sender and receiver sides in channel usage
- broadcaster: Fix data race between Subscribe/Unsubscribe and start
- Fix Subscribe error to be io.EOF when broadcaster is terminated
- Fix Watch never unsubscribing
- General cleanup
- fix usage of context
- add a huge amount of documentation about channels
2024-06-15 02:46:14 -03:00
Alexander Weaver
8491e02caf Alerting: Instrument outbound requests for Loki Historian and Remote Alertmanager with tracing (#89185)
* Add TracedClient

* Handle errors and status codes

* Wire up tracing to normal ASH and loki annotation mapping

* Add tracing to remote alertmanager

* one more spot

* and not or

* More consistency with other grafana traces, lower cardinality name
2024-06-14 13:24:12 -05:00
Dave Henderson
6262c56132 chore(perf): Pre-allocate where possible (enable prealloc linter) (#88952)
* chore(perf): Pre-allocate where possible (enable prealloc linter)

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* fix TestAlertManagers_buildRedactedAMs

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* prealloc a slice that appeared after rebase

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-14 14:16:36 -04:00
Drew Slobodnjak
e53e6e7caa Geomap: Fix data fit (#89247) 2024-06-14 10:09:47 -07:00
Darren Janeczek
79540a20b9 datatrails: persist search terms and use them to reduce retrieved metric names (#87884) 2024-06-14 12:36:35 -04:00
Kevin Minehart
a250706305 CI: Make pkg/build its own module, remove unused Grafana modules in go.mo… (#89243)
* Make pkg/build its own module, remove unused Grafana modules in go.mod/go.sum

* fix go.work format

* log errors on file close errors
2024-06-14 19:35:30 +03:00
Jack Baldry
7b02cfddd8 Fix typo in dashboard-variables destinations and also use Grafana Cloud docs if they exist (#89244)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-14 17:27:22 +01:00
Adela Almasan
c3b772618a Tooltip: Add tooltip support to Histogram (#89196)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2024-06-14 11:23:25 -05:00
Jack Baldry
f5468542ba Use ref URIs with the reference style links (#89204)
* Use ref URIs with the reference style links

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

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

* Remove unused ref URI

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

* Remove unused Data frames link

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-14 15:44:29 +01:00
Josh Hunt
15c81b2a8b Move RecentlyDeleted into browse-dashboards (#89214)
* Move RecentlyDeleted into browse-dashboards

* refactor: change path

---------

Co-authored-by: Laura Benz <laura.benz@grafana.com>
2024-06-14 17:25:19 +03:00
Jack Westbrook
3bfa1ed9ed Datasource Config: Return error object on failed updates (#88661)
feat(datasource-config): return error if ds update fails
2024-06-14 16:19:48 +02:00
Josh Hunt
90c3d74955 LibraryPanels: Replace 'General' folder with 'Dashboards' (#89220)
Show 'Dashboards' for library panels not in a folder
2024-06-14 14:01:18 +01:00
Ryan McKinley
23d9af7175 Reporting: Add basic read-only apiserver (#89140) 2024-06-14 15:49:08 +03:00
Dave Henderson
afc1e148b2 ci(chore): Lint all Go code, upgrade golangci-lint action (#89221)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-14 15:42:09 +03:00
Laura Benz
d44ddba996 RestoreDashboards: Fix counting bug (#89201)
Fix restore modal showing incorrect counts

Co-authored-by: joshhunt <josh@trtr.co>
2024-06-14 14:30:05 +02:00
Ieva
4e3294cd8d RBAC: Fix the check for whether an action set should be added (#89219)
fox the check for whether an action set should be added
2024-06-14 14:23:29 +02:00
Ieva
b2864d6dfb Docs: add information about overrideRole provisioning option to docs (#89181)
add information about overrideRole provisioning option to docs
2024-06-14 13:16:16 +01:00
Sofia Papagiannaki
63c4d7373a Update cloud_migrations.go (#89218)
Remove unnecessary newline
2024-06-14 15:14:37 +03:00
Tom Ratcliffe
2dd44e2f58 Alerting: Remove duplicated alertRule handlers file and usage (#89100) 2024-06-14 13:42:00 +02:00
Erik Sundell
72241dbf5f Plugin extensions: Add e2e tests (#89048)
* add custom plugins

* update bundles

* provision app plugins and their dashboards

* add one more script that run e2e tests using e2e test server

* add e2e tests

* regenerate jsonnet dashboards

* ignore custom plugins and playwright report

* use minified

* cleanup tests

* update codeowners

* add leading slash

* document new script

* document custom-plugins

* cleanup

* twist modules

* add readme
2024-06-14 13:41:17 +02:00
Tom Ratcliffe
a9171aa9fe Alerting: Fix display of falsy alert values in state history (#89156) 2024-06-14 13:41:01 +02:00
Leonor Oliveira
1691d80412 Refactor enrichObj function (#89210) 2024-06-14 13:13:59 +02:00
Leonor Oliveira
e1145472c4 For now, only compare if names are the same in playlists (#89206) 2024-06-14 13:13:49 +02:00
Ashley Harrison
7c5c01cb6c Chore: Tidy up more font-awesome SCSS (#89207)
* migrate pull-right/pull-left

* remove fa-rotate and fa-flip

* remove _stacked

* remove font-awesome _list

* remove font-awesome _larger

* remove fa fixed-width

* remove fa animated styles

* move sr-only to global styles

* condense remaining font-awesome stuff into 1 file

* extract out spin animation into util folder
2024-06-14 11:35:32 +01:00
Tom Ratcliffe
26233e98a8 Alerting: Fix saving telegram contact point to Cloud AM config (#89182)
* Add test for saving telegram contact point to AM config

* Fix default value for select options in AM config
2024-06-14 10:56:25 +01:00
Ashley Harrison
84590901e5 Chore: Migrate some more deprecated SCSS (#89160)
* migrate pull-right/pull-left

* remove fa-rotate and fa-flip

* remove _stacked

* remove font-awesome _list

* remove font-awesome _larger

* remove fa fixed-width
2024-06-14 10:46:44 +01:00
renovate[bot]
063082acbc Update dependency @grafana/scenes to v5.0.3 2024-06-14 12:06:17 +03:00
Leonor Oliveira
fd44f2ee4f Init dualwriter metrics (#89003)
* Pass prometheus registerer to the dual writer

* Fix tests

* Remove unused var

* Fix tests

* Uncomment test

* Remove leading line

* Fix tests. Reuse registerer if there's already one

* Lint

* Improve double registering logic

* Rebase main
2024-06-14 11:01:49 +02:00
Torkel Ödegaard
e3da5ed35d Scenes: Upgrade to latest URL sync system (#88836)
* Urlsync updates

* Update

* Fixing tests

* Update to latest canary

* fix

* Update

* Update

* Update

* Fix data trails issue

* Data trails fixes

* Update

* correctly sync scene object graph with url state

* Update
2024-06-14 10:23:51 +02:00
Steve Simpson
dd3c3b5857 Alerting: Update grafana/alerting. (#88914) 2024-06-14 09:19:04 +02:00
Ryan McKinley
2173429ce2 Identity: Add static requester struct (#89190) 2024-06-14 09:04:06 +03:00
github-actions[bot]
4ee754d69b I18n: Download translations from Crowdin (#89175)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-14 08:17:36 +03:00
Ryan McKinley
f2b6a9aa3d K8s: Add numeric revisionVersion helpers to grafanaMetaAccessor (#89191) 2024-06-14 02:35:23 +03:00
Isabel Matwawana
e807f4201b Docs: Fixes for 11.1 visualizations docs (#89193)
* Updated table wrapping and auto wording

* Fixed formatting to match other lists

* Fixed admonition styling and moved content out of note into body

* Added note re feature toggle

* Fixed typo

* Added comma

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>

---------

Co-authored-by: Adela Almasan <88068998+adela-almasan@users.noreply.github.com>
2024-06-13 16:57:51 -04:00
grafana-delivery-bot[bot]
40e3601982 Release: Bump version to 11.2.0-pre (#89184)
* "Release: Updated versions in package to 11.2.0-pre"

* fix newline

---------

Co-authored-by: grafana-delivery-bot[bot] <132647405+grafana-delivery-bot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <kmineh0151@gmail.com>
2024-06-13 15:08:07 -05:00
Kristin Laemmert
e2f65dda0c chore: remove redundant transactions from Dashboard (get) sql queries (#89186)
* chore: remove redundant transactions from sql queries
* remove unused parameter
2024-06-13 15:32:01 -04:00
Ryan McKinley
57b760824f Chore: Remove pkg/infra/x/persistentcollection (#89139) 2024-06-13 21:46:52 +03:00
Michael Mandrus
9d3a4e236d CloudMigrations: Refactor API for async work (#89084)
* rename some stuff

* more renaming

* clean up api

* rename more functions

* rename cms -> gms

* update comment

* update swagger gen

* update endpoints

* overzealous

* final touches

* dont modify existing migrations

* break structs into domain and dtos

* add some conversion funcs

* fix build

* update frontend

* try to make swagger happy
2024-06-13 17:58:59 +00:00
Matias Chomicki
06c0ce4325 LogDetailsRow: customize filters tooltip according to the current app (#89183)
* LogDetailsRow: customize filters tooltip

* Update tests
2024-06-13 20:54:33 +03:00
Ieva
bd35fa10f1 RBAC: Resolve action sets when GetPermissions is called (#89046)
* resolve action sets when GetPermissions is called

* a fix to ensure that dashboard permissions that override parent folder permissions are displayed on top of the inherited permission

* linting

* linting pt2
2024-06-13 20:06:37 +03:00
Ieva
eb535e163d Docs: Add parameter definition to swagger for RBAC debug endpoint (#89097)
add parameter definition to swagger for RBAC debug endpoint
2024-06-13 20:01:12 +03:00
Matias Chomicki
6a125fd59f Logs panel: do not pass default handlers if context is not defined (#89174) 2024-06-13 19:56:50 +03:00
Ieva
3853f90528 RBAC: Include action sets in dashboard and folder permission filter (#89133)
take action sets into account in dashboard and folder permission filter
2024-06-13 19:40:47 +03:00
Artur Wierzbicki
627d77c365 chore: change codeowner of /pkg/components/imguploader (#89167)
* change owner for imguploader

* Update .github/CODEOWNERS

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

---------

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-06-13 18:18:29 +03:00
grafana-delivery-bot[bot]
ffcb13b7ab Changelog: Updated changelog for 10.4.4 (#89173)
Co-authored-by: grafanabot <bot@grafana.com>
2024-06-13 18:08:26 +03:00
Ivana Huckova
375be77f32 Elasticsearch: Add developer documentation (#89050)
* Elasticsearch: Add developer documentation

* Update

* Update

* Add code comments

* Update

* Update public/app/plugins/datasource/elasticsearch/docs/developer_documentation.md
2024-06-13 18:05:50 +03:00
Kyle Brandt
82aa000e9d SSE: (Chore) Update log line with context (trace) (#89172)
Improves log line to help with debugging in Server Side Expressions. In particular, the traceId, datasourceType, and datasourceUid will now be included.
2024-06-13 10:58:39 -04:00
Juan Cabanas
b7180c17b8 ShareDrawer: Add confirm action (#89001) 2024-06-13 11:11:26 -03:00
Bogdan Matei
07ec1a303e Scopes: Remove basic selector (#89098) 2024-06-13 17:02:40 +03:00
Juan Cabanas
59d83bc55a PublicDashboards: Fix error message when deleting (#89166) 2024-06-13 10:39:35 -03:00
Sam Jewell
2d0a3953c1 Transformations: Move transformation variables to general availability (#89111) 2024-06-13 07:18:21 -06:00
Will Browne
74230937f4 Plugins: Update plugin SDK Go to 0.235.0 (#89153)
update plugin SDK go to 0.235.0
2024-06-13 15:14:39 +02:00
Tobias Skarhed
5e2f08de31 New Select: Initial scaffolding (#89114)
* Initial scaffolding

* Extend props from Input

* Rename to Combobox

* Use search icon

* Remove use of SelectableValue

* Remove unused import

* Memoize
2024-06-13 13:41:14 +02:00
Gabriel MABILLE
afcb5a855c AuthZ: embed an authorization server (#89018)
* AuthZ: embed an authorization server

* CODEOWNERS

* Remove swagger

* WIP

* Flatten structure and inject wireset

* sync mod files

* Rename authorization package

* Fix swagger gen

* CODEOWNERS

* Use itf instead of impl

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2024-06-13 11:41:35 +02:00
Oscar Kilhed
99e5e1c8bd Dashboard scenes: Duplicated panels should maintain size of source panel (#89152)
Maintain size of duplicated panel
2024-06-13 11:24:29 +02:00
github-actions[bot]
025309a303 I18n: Download translations from Crowdin (#89142)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-13 12:17:43 +03:00
Ieva
1ac395b785 RBAC: Only store action sets for dashboards and folders (#89053)
* don't store action sets for resources other than dashboards and folders

* remove unneeded comment
2024-06-13 12:06:48 +03:00
Matias Chomicki
7e9e5f5346 Chore: bump @grafana/experimental (#89119)
* Chore: bump @grafana/experimental

* chore: upgrade all package.json
2024-06-13 08:46:59 +00:00
Pepe Cano
35fba3833b Alerting docs: fix example (#89132)
* Fix matching label example

* Update some wording

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Minor Timing options summary clarification

* Clarify `Disable grouping`

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-13 10:08:15 +02:00
Ivan Ortega Alba
080adaf987 Inspect: Include only BOM char for excel files (#88994) 2024-06-13 09:41:50 +02:00
Laura Benz
ca2df58ab0 RestoreDashboards: Implement restore workflow (#88753)
* feat: create interactable elements

* feat: add i18n

* feat: add restoment process

* refactor: move restore endpoint

* refactor: adjust some API things

* refactor: adjust i18n

* Run i18n abstraction

* refactor: clean up

* refactor: update comment

* refactor: update text in modal

* refactor: correct translation keys

* refactor: add changes from code review

* refactor: add styling

* Update go.work.sum
2024-06-13 09:12:10 +02:00
Mitch Seaman
25f65cee29 Update description of Grafana OSS (#89088)
* Update description of Grafana OSS

Reorder info and change examples to include only OSS data sources

* ran prettier

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-13 08:18:26 +02:00
Ryan McKinley
99d8025829 Chore: Move identity and errutil to apimachinery module (#89116) 2024-06-13 07:11:35 +03:00
Nathan Marrs
12a45fdeca Canvas: Refactor scene.tsx for better maintainability (#88517)
Co-authored-by: drew08t <drew08@gmail.com>
2024-06-13 03:33:42 +03:00
Drew Slobodnjak
2fcc4d8cd7 Table: Fix row count during filter (#89004)
* Table: Fix row count during filter

* Fix pagination ranges
2024-06-12 13:54:39 -07:00
William Wernert
c62cc25513 Alerting: Configure recording rule writer from config.ini (#89056) 2024-06-12 16:04:46 -04:00
Juan Cabanas
7664b89209 ShareModal: Share externally (#88259) 2024-06-12 17:02:06 -03:00
Ryan McKinley
ed400f0bbf EntityStore: Use standard user identifier rather than custom version (#89080)
user uid string
2024-06-12 19:39:34 +03:00
Marcus Efraimsson
1abaa825c6 Tracing: Only enable traces to profiles for api servers for now (#89126) 2024-06-12 19:36:31 +03:00
Torkel Ödegaard
636910e57e DashboardScene: Fixes issue removing override rule (#89124) 2024-06-12 18:35:10 +02:00
Josh Hunt
c58d09fd81 BrowseDashboards: Prepend subpath to New Browse Dashboard actions (#89109) 2024-06-12 17:22:00 +01:00
Ashley Harrison
822644714a Navigation: Remove ApplyAdminIA logic (#89113)
make admin IA more normal
2024-06-12 16:45:13 +01:00
Taewoo K
5bb10d84e0 add catchpoint to plugin list (#87438)
* add catchpoint to plugin list

* fix format

* bump the plugins number
2024-06-12 10:05:07 -04:00
Kevin Minehart
c6d807e015 CI: Trigger release pr workflow when a release is completed (#89062) 2024-06-12 08:48:50 -05:00
Ashley Harrison
13d00e09ab Chore: Migrate some more SCSS to emotion (#89038)
* migrate section-heading

* move fonts to global styles

* migrate code styles to emotion globals

* migrate spacings styles and leave some in angular

* padding should be 2 here not 1
2024-06-12 14:46:20 +01:00
Isabella Siu
9877aa7039 Cloudwatch: Metrics Query Builder should clear old query (#88950) 2024-06-12 09:31:05 -04:00
Bogdan Matei
423c03912b Scopes: Remove disabled flag on nodes search input (#89041) 2024-06-12 16:18:09 +03:00
Ryan McKinley
3ae95a6eb1 K8s: Update grafana resource metadata accessor (#89074) 2024-06-12 14:39:37 +03:00
github-actions[bot]
58f7032b39 I18n: Download translations from Crowdin (#89054) 2024-06-12 11:19:30 +01:00
Edvard Falkskär
6998bf40d7 BarChart: Fix type error when there are no series (#89087)
BarChart: Fix reference error when there are no series
2024-06-12 02:59:03 -07:00
Sergej-Vlasov
c512d10362 DashboardScene: Adjust plugin-e2e for dashboardScene FF (#89052)
adjust plugin-e2e for dashboard scene ff
2024-06-12 11:37:16 +02:00
Sergej-Vlasov
8d0e437287 DashboardScene - Add various-suite to scenes e2e (#88911)
* duplicate various-suite in scenes e2e

* restore original various-suite

* adjust various-suite e2e tests for scenes

* adjust workflow for test run

* adjust flaky exemplars test

* remove old dash script and restore workflow

* duplicate e2e/various-suite/keybinds.spec.ts into e2e/scenes

* restore original e2e/various-suite/keybinds.spec.ts

* add new keybinds e2e test

* restore workflow file after test run
2024-06-12 11:36:11 +02:00
Joao Silva
dc03798c34 Chore: Remove gf-forms from alertmanager and graphite datasources (#88933) 2024-06-12 10:13:13 +01:00
Santiago
b7120c5a30 Alerting: Fix missing argument in call to createRemoteAlertmanager() (#89101) 2024-06-12 11:57:22 +03:00
Pepe Cano
57c9207a74 Alerting docs: Update Timing Options (#89036)
* first wip

* Complete changes

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Edit sentence refering the previous example

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-12 10:46:00 +02:00
kay delaney
195c17da60 Scenes: Add support for viewing variable dependency graph in settings (#87577)
* Scenes: Add support for viewing variable dependency graph in settings

* Fix failing e2e test

* Add test for createDependencyNodes/Edges

* Refactor for better separation between old architecture and scenes

* Add internationalization

* run maker

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2024-06-12 10:40:52 +02:00
Ieva
34c40f959f RBAC: Add and resolve action sets when searching user's permissions (#88694)
* include and resolve action sets when fetching user's permissions

* expand both action and action prefix (returns an empty set for the one that isn't specified)
Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* if action is specified, check for exact match; also extend tests
2024-06-12 11:20:19 +03:00
Santiago
12d5251c12 Alerting: Alertmanager configuration sync loop (#88822)
* make the config sync happen on each call to ApplyConfig(), fix tests

* send autogen config

* add fake autogen function for tests

* update stale comments, tidy things up, make linter happy

* add auto-gen routes only if the feature toggle is enabled

* remove unnecessary fake autogen function

* throttle configuration syncs

* restore pkg/services/store/entity/sqlstash/sql_storage_server.go

* test sync loop in ApplyConfig, skip invalid autogen routes

* restore conf/defaults.ini

* restore conf/defaults.ini

* avoid skipping invalid auto-gen routes in SaveAndApplyConfig

* test that autogenFn is called and its errors are returned

* add debug message about the sync interval not having elapsed

* collapse two log lines into one
2024-06-12 10:13:34 +02:00
Eric Leijonmarck
c85d10d6c3 Auth: Removal of conflicting users check upon creation (#89045)
fix: removal of check for conflicting users
2024-06-12 09:19:06 +02:00
Joseph Perez
f09f21b5bb Docs: Edit of data requests and breaking changes docs (part 4 of Contribute doc quality project) (#88858)
* Docs: data requests and breaking changes edit

* Update contribute/architecture/frontend-data-requests.md

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

* Fixes from review

* Update contribute/architecture/frontend-data-requests.md

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

* Update contribute/architecture/frontend-data-requests.md

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

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

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

* Fix from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

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

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

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

* Fix from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>

* Fixes from review

* Update contribute/breaking-changes-guide/breaking-changes-guide.md

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

* Fix from review

* Fix from review

* Fix alt text

* Remove 1st person

* Fix from review

* Eliminate 'in case'

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Beverly Buchanan <131809838+BeverlyJaneJ@users.noreply.github.com>
2024-06-11 14:57:22 -07:00
Jay Clifford
465efbf802 feat: Updated whats-new-in-v11-0.md with release video (#87953)
Update whats-new-in-v11-0.md

Grafana 11 release video added.
2024-06-11 15:56:20 -04:00
Larissa Wandzura
59fbc0d9e3 Docs: Updates to the Grafana enterprise data source intro page (#89065)
removed a dupe, deprecated data source and cleaned up a page name
2024-06-11 14:10:03 -05:00
Señor Performo - Leandro Melendez
404617b33d Added Grafana Play Links to Panel visualization docs (#88995)
* Update index.md on Node panels to Grafana Play link

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

* Update index.md News documentation link to Grafana Play

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

* Update index.md Alert list fixed missing link

* Update index.md Fixed title

* Update index.md Trying code fix

* Ran prettier command

* Matched link text to dashboard titles

* Replaced URL with ref URI key

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2024-06-11 14:57:03 -04:00
Ryan McKinley
a559a66544 FeatureFlags: Update creation timestamps (#88966) 2024-06-11 21:23:12 +03:00
Jacob Valdemar
eb76ea47a0 Alerting: Add ha_reconnect_timeout configuration option (#88823)
* Docs: Update "Configure high availability" guide with ha_reconnect_timeout configuration

---------

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2024-06-11 13:25:48 -04:00
Haris Rozajac
2d370f3983 Explore: Logs pinning in content outline (#88316)
* wip: working version

* add delete buttons, put pinned logs on top,

* Use already available onPinLine prop

* cleanup

* Fix alignment of pinned log

* Limit to 3 pinned log lines

* Format tooltip message

* Lower to font size and adjust padding so pinned log title is fully visible

* Add internationalization support in Explore Logs

* Update json for i18n

* Test remove button

* Open content outline after pinning a log

* Remove console.log statements

* Minor changes

* Conflict stuff
2024-06-11 11:15:36 -06:00
Alexander Akhmetov
667fea6623 Alerting: use hash of labels instead of labels string as the alert state cache key (#88956)
* Alerting: use hash instead of labels as the cache key
* Use data.Labels.Fingerprint to calculate the cache key
2024-06-11 18:34:58 +02:00
Alexander Weaver
d004f8a98d Alerting: Recording rules understands errors embedded in dataframes (#88946)
* Make MakeDependencyError public for tests in another package

* Create tests for errors in eval results

* Extract logic to pull frame errors out into exported function

* Maybe we can drop cyclomatic complexity lint suppression now?

* extract frame errors and fail recording rules if frames contain error

* Fix up retry logic to actually work

* Do not retry non retryable errors
2024-06-11 10:37:10 -05:00
Dominik Prokop
45c601acc4 Grafana live: Add tests and missing code to amendTable (#89031)
* Grafana live: Add tests and missing code to amendTable

* Betterer
2024-06-11 17:34:58 +02:00
Ashley Harrison
89dd710ca9 Chore: Add extra check in keybinds e2e test to prevent flake (#89034)
add extra check
2024-06-11 16:28:47 +01:00
brendamuir
5a9e8a20f6 Docs: fixes overview text height (#89044)
* Docs: fixes overview text height

* deletes word documentation
2024-06-11 17:17:01 +02:00
Josh Hunt
994ddf7e6f RecentlyDeleted: Remove search box (#89043)
* RecentlyDeleted: Remove search box

* i18n
2024-06-11 17:45:10 +03:00
Josh Hunt
c71f8b8b1f Keybinds: Allow move time range shortcuts (t left / t right) to be chained (#88904)
* Allow for chaining timeshift shortcuts

* ignore repeated shortcuts
2024-06-11 15:13:49 +01:00
Matias Chomicki
ff0c9bd66a Log: Added panel support for filtering callbacks (#88980)
* chore: update stale comment

* Logs Panel: add props for interactive callbacks

* LogsPanel: type guard unknown props

* chore: add comments

* chore: rename popover filtering callbacks prop names

* chore: format panelcfg

* Formatting

* LogsPanel: add default label filter handlers using panel context

* Formatting

* chore: add tests for new props
2024-06-11 16:54:41 +03:00
Leon Sorokin
f32afbcb0a BarChart: Fix bar widths changing when toggling series (#89010) 2024-06-11 16:43:39 +03:00
Misi
2e811c5438 Chore: Use OrgRoleMapper in Grafana.com client (#89013)
* Use OrgRoleMapper in Grafana.com client

* Clean up
2024-06-11 14:53:05 +02:00
Kevin Minehart
4b853922a6 CI: Add release-pr workflow (#89005)
* Add release-pr workflow

* update CODEOWNERS
2024-06-11 07:50:52 -05:00
brendamuir
5481399c53 Docs: landing page for OSS/Enterprise (#89030)
* Docs: landing page for OSS/Enterprise

* adds alt text for image in alerting

* Update docs/sources/_index.md

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

* Update docs/sources/_index.md

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

* Update docs/sources/_index.md

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

* changes according to jacks feedback

* more fixes

* ran prettier

* adds upgrade tile

* adds better description

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2024-06-11 14:36:14 +02:00
Steve Simpson
d440d86bbb Alerting: Fix erroneous use of grafana-cli/logger. (#89037)
Can't see how this was intentional, likely just a typo.
2024-06-11 14:29:56 +02:00
Ashley Harrison
55dfc76b23 Chore: replace General with Dashboards (#89017)
replace General with Dashboards
2024-06-11 13:10:25 +01:00
Galen Kistler
1f967a89b6 Frontend: InteractiveTable fix - prevent styles from leaking into tables added in expanded rows (#88948)
* fix: prevent styles from leaking into tables added in expanded rows
2024-06-11 06:40:29 -05:00
github-actions[bot]
c00fa995f7 I18n: Download translations from Crowdin (#89035)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-11 11:23:00 +00:00
Ashley Harrison
09dfdef378 Calendar: Add labels for next/previous month (#89019)
add labels for next/previous month
2024-06-11 11:49:02 +01:00
Ivana Huckova
09e74acc94 Loki: Respect pre-selected filters in adhoc filter queries (#89022)
* Loki: In adhoc filters, respect pre-selected filters

* improve test,fix quotes

* Refactor
2024-06-11 13:09:29 +03:00
Oscar Kilhed
558aaf22bd Dashboard scenes: Allow undefined filter prop in adhoc variable when comparing two adhoc variables. (#88993)
* Allow undefined filter prop in adhoc variable when comparing two adhoc variables

* set mock implementation before each test

* mock console.warn in each test
2024-06-11 11:06:19 +02:00
Santiago
cdbc9d801f Alerting: Use the internal Alertmanager to test templates and receivers (remote primary) (#88988) 2024-06-11 11:06:07 +02:00
Ieva
095ca66d9f RBAC: List only the folders that the user has access to (#88599)
only check folder permissions when listing folders
2024-06-11 10:37:16 +03:00
Ieva
10857c5400 Docs: Use bearer auth not basic auth in IAM doc examples (#88984)
use bearer auth not basic auth in examples
2024-06-11 10:35:22 +03:00
Mihai Doarna
3d40caf819 SSO: Add LDAP fallback strategy for SSO settings service (#88905)
* add root and client certificate value fields for LDAP

* update error messages for connection error

* add LDAP fallback strategy for SSO settings service

* fix params for sso service provider

* fix params for sso service provider

* sort imports

* sort imports

* replace json.Number with int64 in config map

* remove type assertions
2024-06-11 10:22:53 +03:00
Yuri Tseretyan
d4b0ac5973 Alerting: Fix rule storage to filter by group names using case-sensitive comparison (#88992)
* add test for the bug
* remove unused struct
* update db store to post process filters by group using go-lang's case-sensitive string comparison

--------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2024-06-10 19:05:47 -04:00
Dave Henderson
ee8a549fdd CI: Add Trivy GitHub Action (#88987)
* CI: Add Trivy GitHub Action

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* Remove obsolete Snyk workflow

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-06-10 16:53:48 -04:00
Señor Performo - Leandro Melendez
c98b7a712f Update index.md for Node, adding video to docs (#88941) 2024-06-10 19:52:16 +02:00
Kristina
aab83303da Ensure running server from VSCode enables dev mode (#88986) 2024-06-10 10:30:03 -05:00
Mihai Doarna
0f936e2939 Auth: Add root and client certificate value fields in LDAP config (#88746)
* add root and client certificate value fields for LDAP

* update error messages for connection error
2024-06-10 18:13:15 +03:00
Ashley Harrison
06c30ee165 Chore: Migrate more SCSS styles (#88780)
* remove animations mixins

* move drop and drop-element to angular file

* migrate submenu scss
2024-06-10 16:10:54 +01:00
Santiago
5f4d07bb75 Alerting: Enable remote primary mode using feature toggles (#88976) 2024-06-10 17:07:13 +02:00
Torkel Ödegaard
db25886f9c DashboardScene: Fixes lack of re-render when updating field override properties (#88796)
* DashboardScene: Fixes lack of re-render when updating field override properties

* Added unit test
2024-06-10 16:42:25 +02:00
Aaron Godin
59a6a6513f Prevent moving a k6 folder (#88884)
* iam-716 - prevent a folder move operation when the folder's uid or any of its parents uids begin with k6-app

* fox folder move check and only list non-k6 folders to users

* adding tests for moving

* add a test for listing folders

* fix the other tests

* use method that adds folder parent

---------

Co-authored-by: IevaVasiljeva <ieva.vasiljeva@grafana.com>
2024-06-10 09:17:51 -05:00
Leon Sorokin
89a0bec208 Transformations: Keep original field.labels.name when joining frames (#88873) 2024-06-10 09:16:58 -05:00
Juan Cabanas
03a000e1b5 ConfirmModal: Reuse confirm content (#88577) 2024-06-10 11:14:25 -03:00
Leonor Oliveira
b30c81b1ad Add and fix tests for playlists in mode1 (#88543)
* Add and fix tests for playlists in mode1

* Make etcd tests pass mode1 for now

* Fix mode1 and add more tests for playlists in mode 1

* Remove repeated test

* Fix test setup
2024-06-10 16:11:01 +02:00
Ashley Harrison
f78fb4ff16 Chore: Remove hardcoded wait in keybinds e2e test (#88895)
* remove hardcoded wait in keybinds test

* review comments
2024-06-10 15:09:15 +01:00
Kristin Laemmert
90418dc00b Chore: update sample.ini file (#86941)
rebase
2024-06-10 09:22:16 -04:00
Piotr Jamróz
0a05ac6aed Correlations: Remove flakey test (#88912)
* Make the flakiness error more verbose

* Fix linting

* Remove a flaky test and make assertion failures more verbose
2024-06-10 15:14:38 +02:00
kay delaney
207672365a @grafana/data: Introduce new getTagKeys/getTagValues response interface (#88369)
* @grafana/data: Introduce new getTagKeys/getTagValues response interface
2024-06-10 13:48:40 +01:00
Yulia Shanyrova
80bdfbe2eb Plugins: Fix Explore button visibility for datasource plugins (#88614)
Use hasAccessToExplore method at datasource list
2024-06-10 14:27:17 +02:00
David Harris
60bec80672 Cloudwatch: add keywords (#88855)
---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2024-06-10 08:11:47 -04:00
Santiago
e15e40fbd3 Alerting: Skip setting up clustering in remote primary/only modes (#88968)
* Alerting: Skip setting up clustering in remote primary mode

* Update pkg/services/ngalert/notifier/multiorg_alertmanager.go

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>

---------

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2024-06-10 13:51:11 +02:00
Ieva
35d0597367 RBAC: Only check for the write action when listing editable dashboards/folders (#88518)
* only check for the write action when listing editable resources

* test fix
2024-06-10 14:44:34 +03:00
Laura Fernández
84b638fb26 PinNavItems: Create feature toggle (#88975) 2024-06-10 13:40:03 +02:00
Diego Augusto Molina
4378f89fd9 fix data race in dev runtime (#88887) 2024-06-10 08:30:17 -03:00
Misi
9a44296bc2 Auth: Add org to role mappings support to AzureAD/Entra integration (#88861)
* Added implementation and tests

* Add docs, simplify implementation

* Remove unused func

* Update docs
2024-06-10 12:08:30 +02:00
Pepe Cano
ee75fc3852 Alerting docs: update Introduction > Notification policies (#88656)
* Alerting docs: Notification policies and grouping

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/group-alert-notifications.md

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

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

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

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

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

* Change `alt` text in a diagram

* Clarify `siblings` and `child` policies

* Fix spelling error

* minor change

* Rewrite routing

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

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

* Update docs/sources/alerting/fundamentals/notifications/notification-policies.md

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

* Rewrite Routing

* extend routing

* Minor `Group by` example

* Clarify how Grafana groups alerts by the alert rule

* Skip bold style for `group` options

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
2024-06-10 12:06:46 +02:00
Gábor Farkas
a6a12d7f2e fixed yarn.lock (#88971) 2024-06-10 12:33:49 +03:00
Matias Chomicki
3237fc1cc2 Loki: Added support for negative numbers in LogQL (#88719)
Loki: Add support for negative numbers in LogQL
2024-06-10 10:30:34 +02:00
Bogdan Matei
56ce88dea3 Filters: Introduce enrichFiltersRequest (#88913) 2024-06-10 09:09:59 +02:00
7217 changed files with 274603 additions and 118043 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,9 +7,11 @@ import { glob } from 'glob';
// Why are we ignoring these?
// They're all deprecated/being removed so doesn't make sense to fix types
const eslintPathsToIgnore = [
'public/app/angular', // will be removed in Grafana 11
'public/app/plugins/panel/graph', // will be removed alongside angular
'public/app/plugins/panel/table-old', // will be removed alongside angular
'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
'e2e/test-plugins',
];
// Avoid using functions that report the position of the issues, as this causes a lot of merge conflicts
@@ -20,10 +22,9 @@ export default {
.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}'),
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() {

View File

@@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.59.0
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.60.1
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.59.0"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.59.0 "github.com/golangci/golangci-lint/cmd/golangci-lint"
@echo "(re)installing $(GOBIN)/golangci-lint-v1.60.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.60.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod
@@ -53,11 +53,9 @@ $(LEFTHOOK): $(BINGO_DIR)/lefthook.mod
@echo "(re)installing $(GOBIN)/lefthook-v1.4.8"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=lefthook.mod -o=$(GOBIN)/lefthook-v1.4.8 "github.com/evilmartians/lefthook"
# swagger 0.30.5 isn't compatibile with go 1.22 yet so pinning to a specific commit until there's a new release
# https://github.com/go-swagger/go-swagger/issues/3070
SWAGGER := $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285
SWAGGER := $(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37
$(SWAGGER): $(BINGO_DIR)/swagger.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-db51e79a0e37c572d8b59ae0c58bf2bbbbe53285 "github.com/go-swagger/go-swagger/cmd/swagger"
@echo "(re)installing $(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=swagger.mod -o=$(GOBIN)/swagger-v0.30.6-0.20240310114303-db51e79a0e37 "github.com/go-swagger/go-swagger/cmd/swagger"

View File

@@ -46,6 +46,7 @@ github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/go-winio v0.4.17 h1:iT12IBVClFevaf8PuVyi3UmZOVh4OqnaLxDTW2O6j3w=
github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
@@ -878,6 +879,7 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=

View File

@@ -1,7 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.22
go 1.22.1
toolchain go1.22.4
toolchain go1.23.0
require github.com/golangci/golangci-lint v1.59.0 // cmd/golangci-lint
require github.com/golangci/golangci-lint v1.60.1 // cmd/golangci-lint

View File

@@ -2,6 +2,39 @@
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=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/4meepo/tagalign v1.3.3 h1:ZsOxcwGD/jP4U/aw7qeWu58i7dwYemfy5Y+IF1ACoNw=
github.com/4meepo/tagalign v1.3.3/go.mod h1:Q9c1rYMZJc9dPRkbQPpcBNCLEmY2njbAsXhQOZFE2dE=
github.com/4meepo/tagalign v1.3.4 h1:P51VcvBnf04YkHzjfclN6BbsopfJR5rxs1n+5zHt+w8=
@@ -20,16 +53,28 @@ github.com/Antonboom/testifylint v1.2.0 h1:015bxD8zc5iY8QwTp4+RG9I4kIbqwvGX9TrBb
github.com/Antonboom/testifylint v1.2.0/go.mod h1:rkmEqjqVnHDRNsinyN6fPSLnoajzFwsCcguJgwADBkw=
github.com/Antonboom/testifylint v1.3.0 h1:UiqrddKs1W3YK8R0TUuWwrVKlVAnS07DTUVWWs9c+y4=
github.com/Antonboom/testifylint v1.3.0/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM=
github.com/Antonboom/testifylint v1.3.1 h1:Uam4q1Q+2b6H7gvk9RQFw6jyVDdpzIirFOOrbs14eG4=
github.com/Antonboom/testifylint v1.3.1/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM=
github.com/Antonboom/testifylint v1.4.3 h1:ohMt6AHuHgttaQ1xb6SSnxCeK4/rnK7KKzbvs7DmEck=
github.com/Antonboom/testifylint v1.4.3/go.mod h1:+8Q9+AOLsz5ZiQiiYujJKs9mNz398+M6UgslP4qgJLA=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8=
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
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/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Crocmagnon/fatcontext v0.2.2 h1:OrFlsDdOj9hW/oBEJBNSuH7QWf+E9WPVHw+x52bXVbk=
github.com/Crocmagnon/fatcontext v0.2.2/go.mod h1:WSn/c/+MMNiD8Pri0ahRj0o9jVpeowzavOQplBJw6u0=
github.com/Crocmagnon/fatcontext v0.4.0 h1:4ykozu23YHA0JB6+thiuEv7iT6xq995qS1vcuWZq0tg=
github.com/Crocmagnon/fatcontext v0.4.0/go.mod h1:ZtWrXkgyfsYPzS6K3O88va6t2GEglG93vnII/F94WC0=
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.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI=
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 v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
@@ -38,6 +83,11 @@ github.com/OpenPeeDeeP/depguard/v2 v2.2.0 h1:vDfG60vDtIuf0MEOhmLlLLSzqaRM8EMcgJP
github.com/OpenPeeDeeP/depguard/v2 v2.2.0/go.mod h1:CIzddKRvLBC4Au5aYP/i3nyaWQ+ClszLIuVocRiCYFQ=
github.com/alecthomas/go-check-sumtype v0.1.4 h1:WCvlB3l5Vq5dZQTFmodqL2g68uHiSwwlWcT5a2FGK0c=
github.com/alecthomas/go-check-sumtype v0.1.4/go.mod h1:WyYPfhfkdhyrdaligV6svFopZV8Lqdzn5pyVBaV6jhQ=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho=
github.com/alexkohler/nakedret/v2 v2.0.4 h1:yZuKmjqGi0pSmjGpOC016LtPJysIL0WEUiaXW5SUnNg=
github.com/alexkohler/nakedret/v2 v2.0.4/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
@@ -48,6 +98,8 @@ github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8ger
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.1.1 h1:iCQ87C0V0vSyO+M9E/FZYbu65auqH0lnsOkf5FcB28s=
github.com/ashanbrown/makezero v1.1.1/go.mod h1:i1bJLCRSCHOcOa9Y6MyF2FTfMZMFdHvxKHxgO5Z1axI=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
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.1 h1:AeF71HZDob1P2/pRm1so9cd1alZnrpyc4q2uP2l0gJY=
@@ -56,6 +108,8 @@ github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM=
github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/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.2.7 h1:dAkKQPLl/Qrk7hnP6P+E0xOodrq8Us7+U0o4UBOAlQY=
github.com/breml/bidichk v0.2.7/go.mod h1:YodjipAGI9fGcYM7II6wFvGhdMYsC5pHDlGzqvEW3tQ=
github.com/breml/errchkjson v0.3.6 h1:VLhVkqSBH96AvXEyclMR37rZslRrY2kcyq+31HCsVrA=
@@ -70,26 +124,40 @@ github.com/catenacyber/perfsprint v0.7.1 h1:PGW5G/Kxn+YrN04cRAZKC+ZuvlVwolYMrIyy
github.com/catenacyber/perfsprint v0.7.1/go.mod h1:/wclWYompEyjUD2FuIIDVKNkqz7IgBIWXIH3V0Zol50=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/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/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/ckaznocha/intrange v0.1.0 h1:ZiGBhvrdsKpoEfzh9CjBfDSZof6QB0ORY5tXasUtiew=
github.com/ckaznocha/intrange v0.1.0/go.mod h1:Vwa9Ekex2BrEQMg6zlrWwbs/FtYw7eS5838Q7UjK7TQ=
github.com/ckaznocha/intrange v0.1.2 h1:3Y4JAxcMntgb/wABQ6e8Q8leMd26JbX2790lIss9MTI=
github.com/ckaznocha/intrange v0.1.2/go.mod h1:RWffCw/vKBwHeOEwWdCikAtY0q4gGt8VhJZEEA5n+RE=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
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.12.3 h1:yOZI7VAxAGPQmkb1eqt5g/11SUlwoat1fSblGLmdiQc=
github.com/daixiang0/gci v0.12.3/go.mod h1:xtHP9N7AHdNvtRNfcx9gwTDfw7FRJx4bZUsiEfiNNAI=
github.com/daixiang0/gci v0.13.4 h1:61UGkmpoAcxHM2hhNkZEf5SzwQtWJXTSws7jaPyqwlw=
github.com/daixiang0/gci v0.13.4/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 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
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.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
@@ -114,28 +182,73 @@ github.com/go-critic/go-critic v0.11.2 h1:81xH/2muBphEgPtcwH1p6QD+KzXl2tMSi3hXjB
github.com/go-critic/go-critic v0.11.2/go.mod h1:OePaicfjsf+KPy33yq4gzv6CO7TEQ9Rom6ns1KsJnl8=
github.com/go-critic/go-critic v0.11.4 h1:O7kGOCx0NDIni4czrkRIXTnit0mkyKOCePh3My6OyEU=
github.com/go-critic/go-critic v0.11.4/go.mod h1:2QAdo4iuLik5S9YG0rT4wcZ8QxwHYkrr6/2MWAiv/vc=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
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/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.0.0-alpha.1 h1:TQcrn6Wq+sKGkpyPvppOz99zsMBaUOKXq6HSv655U1c=
github.com/go-viper/mapstructure/v2 v2.0.0-alpha.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-viper/mapstructure/v2 v2.0.0 h1:dhn8MZ1gZ0mzeodTG3jt5Vj/o87xZKuNAprG2mQfMfc=
github.com/go-viper/mapstructure/v2 v2.0.0/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.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
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/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a h1:w8hkcTqaFpzKqonE9uMCefW1WDie15eSP/4MssdenaM=
@@ -146,10 +259,16 @@ github.com/golangci/golangci-lint v1.57.1 h1:cqhpzkzjDwdN12rfMf1SUyyKyp88a1SltNq
github.com/golangci/golangci-lint v1.57.1/go.mod h1:zLcHhz3NHc88T5zV2j75lyc0zH3LdOPOybblYa4p0oI=
github.com/golangci/golangci-lint v1.59.0 h1:st69YDnAH/v2QXDcgUaZ0seQajHScPALBVkyitYLXEk=
github.com/golangci/golangci-lint v1.59.0/go.mod h1:QNA32UWdUdHXnu+Ap5/ZU4WVwyp2tL94UxEXrSErjg0=
github.com/golangci/golangci-lint v1.59.1 h1:CRRLu1JbhK5avLABFJ/OHVSQ0Ie5c4ulsOId1h3TTks=
github.com/golangci/golangci-lint v1.59.1/go.mod h1:jX5Oif4C7P0j9++YB2MMJmoNrb01NJ8ITqKWNLewThg=
github.com/golangci/golangci-lint v1.60.1 h1:DRKNqNTQRLBJZ1il5u4fvgLQCjQc7QFs0DbhksJtVJE=
github.com/golangci/golangci-lint v1.60.1/go.mod h1:jDIPN1rYaIA+ijp9OZcUmUCoQOtZ76pOlFbi15FlLJY=
github.com/golangci/misspell v0.4.1 h1:+y73iSicVy2PqyX7kmUefHusENlrP9YwuHZHPLGQj/g=
github.com/golangci/misspell v0.4.1/go.mod h1:9mAN1quEo3DlpbaIKKyEvRxK1pwqR9s/Sea1bJCtlNI=
github.com/golangci/misspell v0.5.1 h1:/SjR1clj5uDjNLwYzCahHwIOPmQgoH04AyQIiWGbhCM=
github.com/golangci/misspell v0.5.1/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
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=
@@ -160,26 +279,61 @@ github.com/golangci/revgrep v0.5.3 h1:3tL7c1XBMtWHHqVpS5ChmiAAoe4PF/d5+ULzV9sLAz
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/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
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.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/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/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek=
github.com/hashicorp/go-version v1.6.0/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 v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
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/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
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.0 h1:cEqH+YBKLsECnRSd4F4TK5ri8t/aXtt/qoL0Ft252B0=
github.com/jgautheron/goconst v1.7.0/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
@@ -192,6 +346,17 @@ github.com/jjti/go-spancheck v0.5.3 h1:vfq4s2IB8T3HvbpiwDTYgVPj1Ze/ZSXrTtaZRTc7C
github.com/jjti/go-spancheck v0.5.3/go.mod h1:eQdOX1k3T+nAKvZDyLC3Eby0La4dZ+I19iOl5NzSPFE=
github.com/jjti/go-spancheck v0.6.1 h1:ZK/wE5Kyi1VX3PJpUO2oEgeoI4FWOUm7Shb2Gbv5obI=
github.com/jjti/go-spancheck v0.6.1/go.mod h1:vF1QkOO159prdo6mHRxak2CpzDpHAfKiPUDP/NeRnX8=
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/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
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.0.8 h1:gieLARwuByhEMxRwM3GRS/juJqFbLraftXIKDDNJ50Q=
@@ -200,10 +365,17 @@ github.com/karamaru-alpha/copyloopvar v1.1.0 h1:x7gNyKcC2vRBO1H2Mks5u1VxQtYvFiym
github.com/karamaru-alpha/copyloopvar v1.1.0/go.mod h1:u7CIfztblY0jZLOQZgH3oYsJzpC2A7S6u/lfgSXHy0k=
github.com/kisielk/errcheck v1.7.0 h1:+SbscKmWJ5mOK/bO1zS60F5I9WwZDWOfRsC4RwfwRV0=
github.com/kisielk/errcheck v1.7.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkHAIKE/contextcheck v1.1.4 h1:B6zAaLhOEEcjvUgIYEqystmnFk1Oemn8bvJhbt0GMb8=
github.com/kkHAIKE/contextcheck v1.1.4/go.mod h1:1+i/gWqokIa+dm31mqGLZhZJ7Uh44DJGZVmr6QRBNJg=
github.com/kkHAIKE/contextcheck v1.1.5 h1:CdnJh63tcDe53vG+RebdpdXJTc9atMgGqdx8LXxiilg=
github.com/kkHAIKE/contextcheck v1.1.5/go.mod h1:O930cpht4xb1YQpK+1+AgoM3mFsvxr7uyFptcnWTYUA=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
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/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=
@@ -234,8 +406,10 @@ github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1r
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/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 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
@@ -244,12 +418,23 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0j
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE=
github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA=
github.com/mgechev/revive v1.3.9 h1:18Y3R4a2USSBF+QZKFQwVkBROUda7uoBlkEuBD+YD1A=
github.com/mgechev/revive v1.3.9/go.mod h1:+uxEIr5UH0TjXWHTno3xh4u7eg6jDpXKzQccA9UGhHU=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA=
github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
@@ -262,23 +447,50 @@ github.com/nunnatsa/ginkgolinter v0.16.2 h1:8iLqHIZvN4fTLDC0Ke9tbSZVcyVHoBs0HIbn
github.com/nunnatsa/ginkgolinter v0.16.2/go.mod h1:4tWRinDN1FeJgU+iJANW/kz7xKN5nYRAOfJDQUS9dOQ=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
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 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.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo=
github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/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/polyfloyd/go-errorlint v1.4.8 h1:jiEjKDH33ouFktyez7sckv6pHWif9B7SuS8cutDXFHw=
github.com/polyfloyd/go-errorlint v1.4.8/go.mod h1:NNCxFcFjZcw3xNjVdCchERkEM6Oz7wta2XJVxRftwO4=
github.com/polyfloyd/go-errorlint v1.5.1 h1:5gHxDjLyyWij7fhfrjYNNlHsUNQeyx0LFQKUelO3RBo=
github.com/polyfloyd/go-errorlint v1.5.1/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs=
github.com/polyfloyd/go-errorlint v1.5.2 h1:SJhVik3Umsjh7mte1vE0fVZ5T1gznasQG3PV7U5xFdA=
github.com/polyfloyd/go-errorlint v1.5.2/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs=
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/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk=
github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M=
github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/quasilyte/go-ruleguard v0.4.2 h1:htXcXDK6/rO12kiTHKfHuqR4kr3Y4M0J0rOL6CH/BYs=
@@ -291,10 +503,14 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.3.1 h1:fH+fUg+ngsQO0ruZXXHnA/2aNllWA1whly4a6UvyzGE=
github.com/ryancurrah/gomodguard v1.3.1/go.mod h1:DGFHzEhi6iJ0oIDfMuo3TgrS+L9gZvrEfmjjuelnRU0=
github.com/ryancurrah/gomodguard v1.3.2 h1:CuG27ulzEB1Gu5Dk5gP8PFxSOZ3ptSdP5iI/3IXxM18=
github.com/ryancurrah/gomodguard v1.3.2/go.mod h1:LqdemiFomEjcxOqirbQCb3JFvSxH2JUYMerTFd3sF2o=
github.com/ryancurrah/gomodguard v1.3.3 h1:eiSQdJVNr9KTNxY2Niij8UReSwR8Xrte3exBrAZfqpg=
github.com/ryancurrah/gomodguard v1.3.3/go.mod h1:rsKQjj4l3LXe8N344Ow7agAy5p9yjsWOtRzUMYmA0QY=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sanposhiho/wastedassign/v2 v2.0.7 h1:J+6nrY4VW+gC9xFzUc+XjPD3g3wF3je/NsJFwFK7Uxc=
@@ -305,18 +521,29 @@ github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tM
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.25.0 h1:IK8SI2QyFzy/2OD2PYnhy84dpfNo9qADrRt6LH8vSzU=
github.com/sashamelentyev/usestdlibvars v1.25.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/sashamelentyev/usestdlibvars v1.26.0 h1:LONR2hNVKxRmzIrZR0PhSF3mhCAzvnr+DcUiHgREfXE=
github.com/sashamelentyev/usestdlibvars v1.26.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
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.19.0 h1:gl5xMkOI0/E6Hxx0XCY2XujA3V7SNSefA8sC+3f1gnk=
github.com/securego/gosec/v2 v2.19.0/go.mod h1:hOkDcHz9J/XIgIlPDXalxjeVYsHxoWUc5zJSHxcB8YM=
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9 h1:rnO6Zp1YMQwv8AyxzuwsVohljJgp4L0ZqiCgtACsPsc=
github.com/securego/gosec/v2 v2.20.1-0.20240525090044-5f0084eb01a9/go.mod h1:dg7lPlu/xK/Ut9SedURCoZbVCR4yC7fM65DtH9/CDHs=
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.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
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.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak=
github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg=
github.com/sivchari/tenv v1.10.0 h1:g/hzMA+dBCKqGXgW8AV/1xIWhAvDrx0zFKNR48NFMg0=
github.com/sivchari/tenv v1.10.0/go.mod h1:tdY24masnVoZFxYrHv/nD6Tc8FbkEtAQEEziXpyMgqY=
github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00=
github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U18dWqIo=
github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0=
@@ -327,6 +554,8 @@ github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@@ -337,14 +566,30 @@ github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YE
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.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/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.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
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.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c h1:+aPplBwWcHBo6q9xrfWdMrT9o4kltkmmvpemgIjep/8=
github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c/go.mod h1:SbErYREK7xXdsRiigaQiQkI9McGRzYMvlKYaP3Nimdk=
github.com/tdakkota/asciicheck v0.2.0 h1:o8jvnUANo0qXtnslk2d3nMKTFNlOnJjRrNcj0j9qkHM=
github.com/tdakkota/asciicheck v0.2.0/go.mod h1:Qb7Y9EgjCLJGup51gDHFzbI08/gbGhL/UVhYIPWG2rg=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.4.16 h1:4ChfhveiNLk4NveAZ9Pu2AN8QZ2nkUGFuadM9lrr5D0=
github.com/tetafro/godot v1.4.16/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
github.com/timakin/bodyclose v0.0.0-20230421092635-574207250966 h1:quvGphlmUVU+nhpFa4gg4yJyTRJ13reZMDHrKwYw53M=
@@ -363,6 +608,8 @@ github.com/ultraware/whitespace v0.1.1 h1:bTPOGejYFulW3PkcrqkeQwOd6NKOOXvmGD9bo/
github.com/ultraware/whitespace v0.1.1/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI=
github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k=
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/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=
@@ -373,6 +620,13 @@ github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5Jsjqto
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.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.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.1 h1:VdsdfxhstabyhZovHafFw+9eJ6eU0d2CkFNJcZz/NU4=
gitlab.com/bosi/decorder v0.4.1/go.mod h1:jecSqWUew6Yle1pCr2eLWTensJMmsxHsBwt+PVbkAqA=
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
@@ -385,6 +639,15 @@ go-simpler.org/sloglint v0.5.0 h1:2YCcd+YMuYpuqthCgubcF5lBSjb6berc5VMOYUHKrpY=
go-simpler.org/sloglint v0.5.0/go.mod h1:EUknX5s8iXqf18KQxKnaBHUPVriiPnOrPjjJcsaTcSQ=
go-simpler.org/sloglint v0.7.0 h1:rMZRxD9MbaGoRFobIOicMxZzum7AXNFDlez6xxJs5V4=
go-simpler.org/sloglint v0.7.0/go.mod h1:g9SXiSWY0JJh4LS39/Q0GxzP/QX2cVcbTOYhDpXrJEs=
go-simpler.org/sloglint v0.7.1 h1:qlGLiqHbN5islOxjeLXoPtUdZXb669RW+BDQ+xOSNoU=
go-simpler.org/sloglint v0.7.1/go.mod h1:OlaVDRh/FKKd4X4sIMbsz8st97vomydceL146Fthh/c=
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.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
@@ -393,43 +656,400 @@ go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
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-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc h1:ao2WRsKSzW6KuUY9IWPwWahcHCgR0s52IfwutMfEbdM=
golang.org/x/exp v0.0.0-20240103183307-be819d1f06fc/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f h1:phY1HzDcf18Aq9A8KkmRtY9WvOFIxN8wgfvy6Zm1DV8=
golang.org/x/exp/typeparams v0.0.0-20240314144324-c7f7c6466f7f/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
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.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic=
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
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-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/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-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/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-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
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/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
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-20200317015054-43a5402ce75a/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-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/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-20210603081109-ebe580a85c40/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-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220702020025-31831981b65f/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.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
golang.org/x/sys v0.23.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.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190321232350-e250d351ecad/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/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-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
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-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/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.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4=
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.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw=
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
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/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
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.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/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.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs=
honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0=
honnef.co/go/tools v0.5.0 h1:29uoiIormS3Z6R+t56STz/oI4v+mB51TSmEOdJPgRnE=
honnef.co/go/tools v0.5.0/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
mvdan.cc/gofumpt v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/gofumpt v0.6.0/go.mod h1:4L0wf+kgIPZtcCWXynNS2e6bhmj73umwnuXSZarixzA=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14 h1:zCr3iRRgdk5eIikZNDphGcM6KGVTx3Yu+/Uu9Es254w=
mvdan.cc/unparam v0.0.0-20240104100049-c549a3470d14/go.mod h1:ZzZjEpJDOmx8TdVU6umamY3Xy0UAQUI2DHbf05USVbI=
mvdan.cc/unparam v0.0.0-20240427195214-063aff900ca1 h1:Nykk7fggxChwLK4rUPYESzeIwqsuxXXlFEAh5YhaMRo=
mvdan.cc/unparam v0.0.0-20240427195214-063aff900ca1/go.mod h1:ZzZjEpJDOmx8TdVU6umamY3Xy0UAQUI2DHbf05USVbI=
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f h1:lMpcwN6GxNbWtbpI1+xzFLSW8XzX0u72NttUGVFjO3U=
mvdan.cc/unparam v0.0.0-20240528143540-8a5130ca722f/go.mod h1:RSLa7mKKCNeTTMHBw5Hsy2rfJmd6O2ivt9Dw9ZqCQpQ=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View File

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

View File

@@ -2,7 +2,7 @@
init_cmds = [
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
["./bin/grafana", "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"]
]
watch_all = true
follow_symlinks = true
@@ -18,5 +18,5 @@ build_delay = 1500
cmds = [
["GO_BUILD_DEV=1", "make", "build-go"],
["make", "gen-jsonnet"],
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
["./bin/grafana", "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"]
]

View File

@@ -17,18 +17,11 @@ load(
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load(
"scripts/drone/pipelines/ci_images.star",
"publish_ci_windows_test_image_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/pipelines/windows.star",
"windows_test_backend",
)
load(
"scripts/drone/rgm.star",
"rgm",
@@ -39,17 +32,13 @@ 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() +
[windows_test_backend({
"event": ["promote"],
"target": ["test-windows"],
}, "oss", "testing")] +
integration_test_pipelines() +
publish_ci_windows_test_image_pipeline() +
cronjobs() +
secrets()
)

2420
.drone.yml

File diff suppressed because it is too large Load Diff

View File

@@ -13,6 +13,8 @@ node_modules
/public/lib/monaco
/scripts/grafana-server/tmp
vendor
e2e/test-plugins
playwright-report
# TS generate from cue by cuetsy
**/*.gen.ts

View File

@@ -1,7 +1,18 @@
{
"extends": ["@grafana/eslint-config"],
"extends": ["@grafana/eslint-config", "plugin:react/jsx-runtime"],
"root": true,
"plugins": ["@emotion", "lodash", "jest", "import", "jsx-a11y", "@grafana", "no-barrel-files"],
"plugins": [
"@emotion",
"lodash",
"jest",
"import",
"jsx-a11y",
"@grafana",
"no-barrel-files",
// Included so betterer doesn't fail when processing all files,
// as other parts of the code use testing-library plugin
"testing-library",
],
"settings": {
"import/internal-regex": "^(app/)|(@grafana)",
"import/external-module-folders": ["node_modules", ".yarn"],

228
.github/CODEOWNERS vendored
View File

@@ -36,23 +36,17 @@
/docs/ @grafana/docs-tooling
/docs/.codespellignore @grafana/docs-tooling
/docs/sources/ @Eve832
/docs/sources/ @irenerl24
/docs/sources/administration/ @jdbaldry
/docs/sources/alerting/ @brendamuir
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @jdbaldry
/docs/sources/explore/ @grafana/explore-squad @lwandz13
/docs/sources/fundamentals @chri2547
/docs/sources/getting-started/ @chri2547
/docs/sources/introduction/ @chri2547
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @Eve832 @GrafanaWriter
/docs/sources/setup-grafana/ @chri2547
/docs/sources/release-notes/ @irenerl24 @GrafanaWriter
/docs/sources/upgrade-guide/ @imatwawana
/docs/sources/whatsnew/ @imatwawana
/docs/sources/developers/plugins/ @Eve832 @josmperez @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/developers/plugins/ @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/docs/sources/panels-visualizations/query-transform-data/transform-data/index.md @imatwawana @baldm0mma
# END Technical documentation
@@ -69,24 +63,37 @@
/.golangci.toml @grafana/grafana-backend-group
/build.go @grafana/grafana-backend-services-squad
/scripts/modowners/ @grafana/grafana-backend-services-squad
/scripts/go-workspace @grafana/grafana-app-platform-squad
/hack/ @grafana/grafana-app-platform-squad
/apps/alerting/ @grafana/alerting-backend
/apps/playlist/ @grafana/grafana-app-platform-squad
/pkg/api/ @grafana/grafana-backend-group
/pkg/apis/ @grafana/grafana-app-platform-squad
/pkg/apis/alerting_notifications @grafana/grafana-app-platform-squad @grafana/alerting-backend @grafana/alerting-frontend
/pkg/apis/query @grafana/grafana-datasources-core-services
/pkg/bus/ @grafana/grafana-search-and-storage
/pkg/cmd/ @grafana/grafana-backend-group
/pkg/cmd/grafana/apiserver @grafana/grafana-app-platform-squad
/pkg/components/apikeygen/ @grafana/identity-access-team
/pkg/components/satokengen/ @grafana/identity-access-team
/pkg/cmd/grafana-cli/commands/install_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/install_command_test.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/listremote_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/listversions_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/ls_command_test.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/ls_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/remove_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/upgrade_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/upgrade_all_command.go @grafana/plugins-platform-backend
/pkg/cmd/grafana-cli/commands/upgrade_all_command_test.go @grafana/plugins-platform-backend
/pkg/components/apikeygen/ @grafana/identity-squad
/pkg/components/satokengen/ @grafana/identity-squad
/pkg/components/dashdiffs/ @grafana/grafana-app-platform-squad
/pkg/components/imguploader/ @grafana/grafana-backend-group
/pkg/components/imguploader/ @grafana/alerting-backend
/pkg/components/loki/ @grafana/grafana-backend-group
/pkg/components/null/ @grafana/grafana-backend-group
/pkg/components/simplejson/ @grafana/grafana-backend-group
/pkg/events/ @grafana/grafana-backend-group
/pkg/extensions/ @grafana/grafana-backend-group
/pkg/ifaces/ @grafana/grafana-backend-group
/pkg/infra/appcontext/ @grafana/grafana-backend-group
/pkg/infra/db/ @grafana/grafana-backend-group
/pkg/infra/localcache/ @grafana/grafana-backend-group
/pkg/infra/log/ @grafana/grafana-backend-group
@@ -101,14 +108,19 @@
/pkg/middleware/ @grafana/grafana-backend-group
/pkg/mocks/ @grafana/grafana-backend-group
/pkg/models/ @grafana/grafana-backend-group
/pkg/semconv/ @grafana/grafana-backend-group
/pkg/server/ @grafana/grafana-backend-group
/pkg/apiserver @grafana/grafana-app-platform-squad
/pkg/aggregator @grafana/grafana-app-platform-squad
/pkg/apimachinery @grafana/grafana-app-platform-squad
/pkg/apimachinery/identity/ @grafana/identity-squad
/pkg/apimachinery/errutil/ @grafana/grafana-backend-group
/pkg/promlib @grafana/observability-metrics
/pkg/storage/ @grafana/grafana-search-and-storage
/pkg/services/annotations/ @grafana/grafana-search-and-storage
/pkg/services/apikey/ @grafana/identity-access-team
/pkg/services/apikey/ @grafana/identity-squad
/pkg/services/cleanup/ @grafana/grafana-backend-group
/pkg/services/contexthandler/ @grafana/grafana-backend-group
/pkg/services/contexthandler/ @grafana/grafana-backend-group @grafana/grafana-app-platform-squad
/pkg/services/correlations/ @grafana/explore-squad
/pkg/services/dashboardimport/ @grafana/grafana-backend-group
/pkg/services/dashboards/ @grafana/grafana-app-platform-squad
@@ -125,8 +137,9 @@
/pkg/services/playlist/ @grafana/grafana-app-platform-squad
/pkg/services/preference/ @grafana/grafana-backend-group
/pkg/services/provisioning/ @grafana/grafana-search-and-storage
/pkg/services/provisioning/alerting/ @grafana/alerting-backend
/pkg/services/query/ @grafana/grafana-app-platform-squad
/pkg/services/queryhistory/ @grafana/grafana-app-platform-squad
/pkg/services/queryhistory/ @grafana/explore-squad
/pkg/services/quota/ @grafana/grafana-search-and-storage
/pkg/services/screenshot/ @grafana/grafana-backend-group
/pkg/services/search/ @grafana/grafana-search-and-storage
@@ -134,28 +147,27 @@
/pkg/services/secrets/ @grafana/grafana-operator-experience-squad
/pkg/services/shorturls/ @grafana/grafana-backend-group
/pkg/services/sqlstore/ @grafana/grafana-search-and-storage
/pkg/services/ssosettings/ @grafana/identity-access-team
/pkg/services/ssosettings/ @grafana/identity-squad
/pkg/services/star/ @grafana/grafana-search-and-storage
/pkg/services/stats/ @grafana/grafana-backend-group
/pkg/services/tag/ @grafana/grafana-search-and-storage
/pkg/services/team/ @grafana/identity-access-team
/pkg/services/team/ @grafana/access-squad
/pkg/services/temp_user/ @grafana/grafana-backend-group
/pkg/services/updatechecker/ @grafana/grafana-backend-group
/pkg/services/user/ @grafana/identity-access-team
/pkg/services/user/ @grafana/access-squad
/pkg/services/validations/ @grafana/grafana-backend-group
/pkg/setting/ @grafana/grafana-backend-services-squad
/pkg/tests/ @grafana/grafana-backend-services-squad
/pkg/tests/apis/ @grafana/grafana-app-platform-squad
/pkg/tests/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
/pkg/tests/api/correlations/ @grafana/explore-squad
/pkg/tsdb/grafanads/ @grafana/grafana-backend-group
/pkg/tsdb/opentsdb/ @grafana/grafana-backend-group
/pkg/tsdb/opentsdb/ @grafana/partner-datasources
/pkg/util/ @grafana/grafana-backend-group
/pkg/web/ @grafana/grafana-backend-group
/pkg/infra/kvstore/ @grafana/grafana-backend-group
/pkg/infra/fs/ @grafana/grafana-backend-group
/pkg/infra/x/ @grafana/grafana-backend-group
# devenv
# Backend code, developers environment
@@ -163,7 +175,7 @@
# Logs code, developers environment
/devenv/docker/blocks/loki* @grafana/observability-logs
/devenv/docker/blocks/elastic* @grafana/observability-logs
/devenv/docker/blocks/elastic* @grafana/aws-datasources
/devenv/docker/blocks/self-instrumentation* @grafana/observability-metrics
/devenv/bulk-dashboards/ @grafana/dashboards-squad
@@ -180,16 +192,17 @@
/devenv/docker/blocks/collectd/ @grafana/observability-metrics
/devenv/docker/blocks/etcd @grafana/grafana-app-platform-squad
/devenv/docker/blocks/grafana/ @grafana/grafana-as-code
/devenv/docker/blocks/graphite/ @grafana/observability-metrics
/devenv/docker/blocks/graphite09/ @grafana/observability-metrics
/devenv/docker/blocks/graphite1/ @grafana/observability-metrics
/devenv/docker/blocks/influxdb/ @grafana/observability-metrics
/devenv/docker/blocks/influxdb1/ @grafana/observability-metrics
/devenv/docker/blocks/jaeger/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/graphite/ @grafana/partner-datasources
/devenv/docker/blocks/graphite09/ @grafana/partner-datasources
/devenv/docker/blocks/graphite1/ @grafana/partner-datasources
/devenv/docker/blocks/influxdb/ @grafana/partner-datasources
/devenv/docker/blocks/influxdb1/ @grafana/partner-datasources
/devenv/docker/blocks/jaeger/ @grafana/oss-big-tent
/devenv/docker/blocks/maildev/ @grafana/alerting-frontend
/devenv/docker/blocks/mariadb/ @grafana/oss-big-tent
/devenv/docker/blocks/memcached/ @grafana/grafana-backend-group
/devenv/docker/blocks/mimir_backend/ @grafana/alerting-backend
/devenv/docker/blocks/mqtt/ @grafana/alerting-backend
/devenv/docker/blocks/mssql/ @grafana/partner-datasources
/devenv/docker/blocks/mssql_arm64/ @grafana/partner-datasources
/devenv/docker/blocks/mssql_tests/ @grafana/partner-datasources
@@ -198,11 +211,12 @@
/devenv/docker/blocks/mysql_exporter/ @grafana/oss-big-tent
/devenv/docker/blocks/mysql_opendata/ @grafana/oss-big-tent
/devenv/docker/blocks/mysql_tests/ @grafana/oss-big-tent
/devenv/docker/blocks/opentsdb/ @grafana/observability-metrics
/devenv/docker/blocks/opentsdb/ @grafana/partner-datasources
/devenv/docker/blocks/postgres/ @grafana/oss-big-tent
/devenv/docker/blocks/postgres_tests/ @grafana/oss-big-tent
/devenv/docker/blocks/prometheus/ @grafana/observability-metrics
/devenv/docker/blocks/prometheus_random_data/ @grafana/observability-metrics
/devenv/docker/blocks/prometheus_high_card/ @grafana/observability-metrics
/devenv/docker/blocks/pyroscope/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/redis/ @bergquist
/devenv/docker/blocks/sensugo/ @grafana/grafana-backend-group
@@ -210,7 +224,7 @@
/devenv/docker/blocks/smtp/ @bergquist
/devenv/docker/blocks/tempo/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/traefik/ @mckn
/devenv/docker/blocks/zipkin/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/zipkin/ @grafana/oss-big-tent
/devenv/docker/blocks/webdav/ @grafana/alerting-backend
/devenv/docker/buildcontainer/ @bergquist
/devenv/docker/compose_header.yml @grafana/grafana-backend-services-squad
@@ -223,6 +237,7 @@
/devenv/local-npm/ @grafana/frontend-ops
/devenv/vscode/ @grafana/frontend-ops
/devenv/setup.sh @grafana/grafana-backend-services-squad
/devenv/plugins.yaml @grafana/plugins-platform-frontend
# Emails
/emails/ @grafana/alerting-frontend
@@ -241,6 +256,7 @@
/Makefile @grafana/grafana-release-guild
/scripts/build/ @grafana/grafana-release-guild
/scripts/list-release-artifacts.sh @grafana/grafana-release-guild
/.trivyignore @grafana/grafana-backend-services-squad
# OSS Plugin Partnerships backend code
/pkg/tsdb/cloudwatch/ @grafana/aws-datasources
@@ -249,13 +265,11 @@
# Observability backend code
/pkg/tsdb/prometheus/ @grafana/observability-metrics
/pkg/tsdb/influxdb/ @grafana/observability-metrics
/pkg/tsdb/elasticsearch/ @grafana/observability-logs
/pkg/tsdb/graphite/ @grafana/observability-metrics
/pkg/tsdb/elasticsearch/ @grafana/aws-datasources
/pkg/tsdb/loki/ @grafana/observability-logs
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/pkg/tsdb/parca/ @grafana/observability-traces-and-profiling
/pkg/tsdb/parca/ @grafana/oss-big-tent
# OSS Big Tent backend code
/pkg/tsdb/mysql/ @grafana/oss-big-tent
@@ -263,6 +277,8 @@
# Partner Datasources backend code
/pkg/tsdb/mssql/ @grafana/partner-datasources
/pkg/tsdb/influxdb/ @grafana/partner-datasources
/pkg/tsdb/graphite/ @grafana/partner-datasources
# Database migrations
/pkg/services/sqlstore/migrations/ @grafana/grafana-search-and-storage
@@ -276,6 +292,7 @@
/pkg/modules/ @grafana/grafana-app-platform-squad
/pkg/services/grpcserver/ @grafana/grafana-search-and-storage
/pkg/generated @grafana/grafana-app-platform-squad
/pkg/services/unifiedSearch/ @grafana/grafana-search-and-storage
# Alerting
/pkg/services/ngalert/ @grafana/alerting-backend
@@ -311,43 +328,56 @@
/e2e/ @grafana/grafana-frontend-platform
/e2e/cloud-plugins-suite/ @grafana/partner-datasources
/e2e/plugin-e2e/plugin-e2e-api-tests/ @grafana/plugins-platform-frontend
/e2e/test-plugins/grafana-extensionstest-app/ @grafana/plugins-platform-frontend
# Packages
/packages/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
/packages/grafana-e2e-selectors/ @grafana/grafana-frontend-platform
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs
/packages/grafana-o11y-ds-frontend/src/IntervalInput/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/NodeGraph/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/pyroscope/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/SpanBar/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToLogs/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToMetrics/ @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToProfiles/ @grafana/observability-traces-and-profiling
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
/packages/grafana-prometheus/ @grafana/observability-metrics
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
/packages/grafana-ui/.storybook/ @grafana/plugins-platform-frontend
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DataLinks/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DateTimePickers/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/PluginSignatureBadge/ @grafana/plugins-platform-frontend
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
/packages/grafana-ui/src/components/Table/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Table/SparklineCell.tsx @grafana/dataviz-squad @grafana/app-o11y-visualizations
/packages/grafana-ui/src/components/Gauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/BarGauge/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/uPlot/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/DataLinks/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/ValuePicker/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizLayout/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizLegend/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizRepeater/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/VizTooltip/ @grafana/dataviz-squad
/packages/grafana-ui/src/components/Sparkline/ @grafana/grafana-frontend-platform @grafana/app-o11y-visualizations
/packages/grafana-ui/src/graveyard/Graph/ @grafana/dataviz-squad
/packages/grafana-ui/src/graveyard/GraphNG/ @grafana/dataviz-squad
/packages/grafana-ui/src/graveyard/TimeSeries/ @grafana/dataviz-squad
/packages/grafana-ui/src/utils/storybook/ @grafana/plugins-platform-frontend
/packages/grafana-data/src/transformations/ @grafana/dataviz-squad
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
/plugins-bundled/ @grafana/plugins-platform-frontend
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
/packages/grafana-prometheus/ @grafana/observability-metrics
/packages/grafana-o11y-ds-frontend/ @grafana/observability-logs @grafana/observability-traces-and-profiling
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
# root files, mostly frontend
/.browserslistrc @grafana/frontend-ops
/package.json @grafana/frontend-ops
/nx.json @grafana/frontend-ops
/project.json @grafana/frontend-ops
/.nxignore @grafana/frontend-ops
/tsconfig.json @grafana/frontend-ops
/.editorconfig @grafana/frontend-ops
/.eslintignore @grafana/frontend-ops
@@ -381,26 +411,30 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/core/components/TimeSeries/ @grafana/dataviz-squad
/public/app/core/components/TimelineChart/ @grafana/dataviz-squad
/public/app/core/components/Form/ @grafana/grafana-frontend-platform
/public/app/core/components/OptionsUI/ @grafana/dashboards-squad @grafana/dataviz-squad
/public/app/core/history/ @grafana/explore-squad
/public/app/features/all.ts @grafana/grafana-frontend-platform
/public/app/features/admin/ @grafana/identity-access-team
# Temp owners until Enterprise team takes over
/public/app/features/migrate-to-cloud @grafana/grafana-frontend-platform
/public/app/features/auth-config/ @grafana/identity-access-team
/public/app/features/actions/ @grafana/dataviz-squad
/public/app/features/auth-config/ @grafana/identity-squad
/public/app/features/annotations/ @grafana/dashboards-squad
/public/app/features/api-keys/ @grafana/identity-access-team
/public/app/features/api-keys/ @grafana/identity-squad
/public/app/features/canvas/ @grafana/dataviz-squad
/public/app/features/geo/ @grafana/dataviz-squad
/public/app/features/visualization/data-hover/ @grafana/dataviz-squad
/public/app/features/commandPalette/ @grafana/grafana-frontend-platform
/public/app/features/connections/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/connections/ @grafana/plugins-platform-frontend
/public/app/features/correlations/ @grafana/explore-squad
/public/app/features/dashboard/ @grafana/dashboards-squad
/public/app/features/dashboard/components/TransformationsEditor/ @grafana/dataviz-squad
/public/app/features/dashboard-scene/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend @mikkancso
/public/app/features/scopes/ @grafana/dashboards-squad
/public/app/features/datasources/ @grafana/plugins-platform-frontend
/public/app/features/dimensions/ @grafana/dataviz-squad
/public/app/features/dataframe-import/ @grafana/dataviz-squad
/public/app/features/explore/ @grafana/explore-squad
@@ -410,10 +444,9 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/invites/ @grafana/grafana-frontend-platform
/public/app/features/library-panels/ @grafana/dashboards-squad
/public/app/features/logs/ @grafana/observability-logs
/public/app/features/live/ @grafana/grafana-app-platform-squad
/public/app/features/live/ @grafana/dashboards-squad
/public/app/features/apiserver/ @grafana/grafana-app-platform-squad
/public/app/features/manage-dashboards/ @grafana/dashboards-squad
/public/app/features/manage-dashboards/RecentlyDeletedPage.tsx @grafana/grafana-frontend-platform
/public/app/features/notifications/ @grafana/grafana-frontend-platform
/public/app/features/org/ @grafana/grafana-frontend-platform
/public/app/features/panel/ @grafana/dashboards-squad
@@ -426,15 +459,16 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/features/sandbox/ @grafana/grafana-frontend-platform
/public/app/features/browse-dashboards/ @grafana/grafana-frontend-platform
/public/app/features/search/ @grafana/grafana-frontend-platform
/public/app/features/serviceaccounts/ @grafana/identity-access-team
/public/app/features/serviceaccounts/ @grafana/identity-squad
/public/app/features/storage/ @grafana/grafana-app-platform-squad
/public/app/features/teams/ @grafana/identity-access-team
/public/app/features/teams/ @grafana/access-squad
/public/app/features/templating/ @grafana/dashboards-squad
/public/app/features/trails/ @torkelo
/public/app/features/trails/ @grafana/observability-metrics
/public/app/features/transformers/ @grafana/dataviz-squad
/public/app/features/transformers/timeSeriesTable/ @grafana/dataviz-squad @grafana/app-o11y-visualizations
/public/app/features/users/ @grafana/identity-access-team
/public/app/features/users/ @grafana/access-squad
/public/app/features/variables/ @grafana/dashboards-squad
/public/app/features/preferences/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/alertlist/ @grafana/alerting-frontend
/public/app/plugins/panel/annolist/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/barchart/ @grafana/dataviz-squad
@@ -462,7 +496,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/plugins/panel/geomap/ @grafana/dataviz-squad
/public/app/plugins/panel/canvas/ @grafana/dataviz-squad
/public/app/plugins/panel/candlestick/ @grafana/dataviz-squad
/public/app/plugins/panel/live/ @grafana/grafana-app-platform-squad
/public/app/plugins/panel/live/ @grafana/dashboards-squad
/public/app/plugins/panel/news/ @grafana/grafana-frontend-platform
/public/app/plugins/panel/stat/ @grafana/dataviz-squad
/public/app/plugins/panel/text/ @grafana/grafana-frontend-platform
@@ -486,7 +520,8 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/test/ @grafana/grafana-frontend-platform
/public/test/helpers/alertingRuleEditor.tsx @grafana/alerting-frontend
/public/views/ @grafana/grafana-frontend-platform
/public/views/swagger.html @grafana/grafana-backend-group
/public/views/swagger.html @grafana/grafana-app-platform-squad
/public/swagger/ @grafana/grafana-app-platform-squad
/public/app/features/explore/Logs/ @grafana/observability-logs
@@ -510,7 +545,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/benchmark-access-control.sh @grafana/identity-access-team
/scripts/benchmark-access-control.sh @grafana/access-squad
/scripts/check-breaking-changes.sh @grafana/plugins-platform-frontend
/scripts/ci-* @grafana/grafana-release-guild
/scripts/circle-* @grafana/grafana-release-guild
@@ -535,7 +570,9 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/verify-repo-update/ @grafana/grafana-release-guild
/scripts/generate-icon-bundle.js @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform
/scripts/generate-rtk-apis.ts @grafana/grafana-frontend-platform
/scripts/generate-alerting-rtk-apis.ts @grafana/alerting-frontend
/scripts/levitate-parse-json-report.js @grafana/plugins-platform-frontend
/scripts/levitate-show-affected-plugins.js @grafana/plugins-platform-frontend
/scripts/codemods/explicit-barrel-imports.cjs @grafana/frontend-ops
/scripts/**/generate-transformations* @grafana/dataviz-squad
@@ -556,28 +593,29 @@ playwright.config.ts @grafana/plugins-platform-frontend
# Core datasources
/public/app/plugins/datasource/dashboard/ @grafana/dashboards-squad
/public/app/plugins/datasource/cloudwatch/ @grafana/aws-datasources
/public/app/plugins/datasource/elasticsearch/ @grafana/observability-logs
/public/app/plugins/datasource/elasticsearch/ @grafana/aws-datasources
/public/app/plugins/datasource/grafana/ @grafana/grafana-frontend-platform
/public/app/plugins/datasource/grafana-testdata-datasource/ @grafana/plugins-platform-frontend
/public/app/plugins/datasource/azuremonitor/ @grafana/partner-datasources
/public/app/plugins/datasource/graphite/ @grafana/observability-metrics
/public/app/plugins/datasource/influxdb/ @grafana/observability-metrics
/public/app/plugins/datasource/jaeger/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/graphite/ @grafana/partner-datasources
/public/app/plugins/datasource/influxdb/ @grafana/partner-datasources
/public/app/plugins/datasource/jaeger/ @grafana/oss-big-tent
/public/app/plugins/datasource/loki/ @grafana/observability-logs
/public/app/plugins/datasource/mixed/ @grafana/dashboards-squad
/public/app/plugins/datasource/mssql/ @grafana/partner-datasources
/public/app/plugins/datasource/mysql/ @grafana/oss-big-tent
/public/app/plugins/datasource/opentsdb/ @grafana/observability-metrics
/public/app/plugins/datasource/opentsdb/ @grafana/partner-datasources
/public/app/plugins/datasource/grafana-postgresql-datasource/ @grafana/oss-big-tent
/public/app/plugins/datasource/prometheus/ @grafana/observability-metrics
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
/public/app/plugins/datasource/zipkin/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/zipkin/ @grafana/oss-big-tent
/public/app/plugins/datasource/tempo/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/parca/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/parca/ @grafana/oss-big-tent
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad
# Grafana Sharing Squad
/public/app/features/dashboard-scene/sharing/ @grafana/sharing-squad
/public/app/features/dashboard/components/ShareModal/ @grafana/sharing-squad
/public/app/features/manage-dashboards/components/PublicDashboardListTable/ @grafana/sharing-squad
/public/app/features/dashboard/containers/PublicDashboardPage.tsx @grafana/sharing-squad
@@ -594,22 +632,23 @@ playwright.config.ts @grafana/plugins-platform-frontend
/grafana-mixin/ @grafana/grafana-backend-services-squad
# Grafana authentication and authorization
/pkg/login/ @grafana/identity-access-team
/pkg/services/accesscontrol/ @grafana/identity-access-team
/pkg/login/ @grafana/identity-squad
/pkg/services/accesscontrol/ @grafana/access-squad
/pkg/services/anonymous/ @grafana/identity-access-team
/pkg/services/auth/ @grafana/identity-access-team
/pkg/services/authn/ @grafana/identity-access-team
/pkg/services/signingkeys/ @grafana/identity-access-team
/pkg/services/dashboards/accesscontrol.go @grafana/identity-access-team
/pkg/services/datasources/guardian/ @grafana/identity-access-team
/pkg/services/guardian/ @grafana/identity-access-team
/pkg/services/ldap/ @grafana/identity-access-team
/pkg/services/login/ @grafana/identity-access-team
/pkg/services/loginattempt/ @grafana/identity-access-team
/pkg/services/auth/ @grafana/identity-squad
/pkg/services/authn/ @grafana/identity-squad
/pkg/services/authz/ @grafana/access-squad
/pkg/services/signingkeys/ @grafana/identity-squad
/pkg/services/dashboards/accesscontrol.go @grafana/access-squad
/pkg/services/datasources/guardian/ @grafana/access-squad
/pkg/services/guardian/ @grafana/access-squad
/pkg/services/ldap/ @grafana/identity-squad
/pkg/services/login/ @grafana/identity-squad
/pkg/services/loginattempt/ @grafana/identity-squad
/pkg/services/extsvcauth/ @grafana/identity-access-team
/pkg/services/oauthtoken/ @grafana/identity-access-team
/pkg/services/serviceaccounts/ @grafana/identity-access-team
/public/app/core/components/RolePicker/ @grafana/identity-access-team
/pkg/services/oauthtoken/ @grafana/identity-squad
/pkg/services/serviceaccounts/ @grafana/identity-squad
/public/app/core/components/RolePicker/ @grafana/access-squad
# Support bundles
/public/app/features/support-bundles/ @grafana/identity-access-team
@@ -633,6 +672,8 @@ embed.go @grafana/grafana-as-code
/pkg/kinds/ @grafana/grafana-as-code
/pkg/registry/ @grafana/grafana-as-code
/pkg/registry/apis/ @grafana/grafana-app-platform-squad
/pkg/registry/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
/pkg/registry/apis/query @grafana/grafana-datasources-core-services
/pkg/codegen/ @grafana/grafana-as-code
/pkg/codegen/generators @grafana/grafana-as-code
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
@@ -642,7 +683,7 @@ embed.go @grafana/grafana-as-code
# GitHub Workflows and Templates
/.github/CODEOWNERS @tolzhabayev
/.github/ISSUE_TEMPLATE/ @torkelo
/.github/ISSUE_TEMPLATE/ @torkelo @sympatheticmoose
/.github/PULL_REQUEST_TEMPLATE.md @torkelo
/.github/bot.md @torkelo
/.github/commands.json @torkelo
@@ -658,6 +699,8 @@ embed.go @grafana/grafana-as-code
/.github/workflows/backport.yml @grafana/grafana-release-guild
/.github/workflows/bump-version.yml @grafana/grafana-release-guild
/.github/workflows/close-milestone.yml @grafana/grafana-release-guild
/.github/workflows/release-pr.yml @grafana/grafana-release-guild
/.github/workflows/release-comms.yml @grafana/grafana-release-guild
/.github/workflows/codeowners-validator.yml @tolzhabayev
/.github/workflows/codeql-analysis.yml @DanCech
/.github/workflows/commands.yml @torkelo
@@ -686,21 +729,22 @@ embed.go @grafana/grafana-as-code
/.github/workflows/stale.yml @grafana/grafana-release-guild
/.github/workflows/update-changelog.yml @grafana/grafana-release-guild
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
/.github/workflows/snyk.yml @grafana/security-team
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-cat
/.github/workflows/publish-kinds-next.yml @grafana/platform-cat
/.github/workflows/publish-kinds-release.yml @grafana/platform-cat
/.github/workflows/verify-kinds.yml @grafana/platform-cat
/.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-operator-experience-squad
/.github/workflows/ephemeral-instances-pr-opened-closed.yml @grafana/grafana-operator-experience-squad
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-backend-services-squad
/.github/workflows/create-security-patch-from-security-mirror.yml @grafana/grafana-release-guild
/.github/workflows/core-plugins-build-and-release.yml @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/.github/workflows/i18n-crowdin-upload.yml @grafana/grafana-frontend-platform
/.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform
/.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/run-scenes-e2e.yml @grafana/dashboards-squad
/.github/workflows/pr-k8s-codegen-check.yml @grafana/grafana-app-platform-squad
/.github/workflows/go_lint.yml @grafana/grafana-backend-services-squad
/.github/workflows/trivy-scan.yml @grafana/grafana-backend-services-squad
/.github/workflows/changelog.yml @zserge
/.github/workflows/actions/changelog @zserge
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
@@ -712,9 +756,9 @@ embed.go @grafana/grafana-as-code
# Conf
/conf/defaults.ini @torkelo
/conf/sample.ini @torkelo
/conf/ldap.toml @grafana/identity-access-team
/conf/ldap_multiple.toml @grafana/identity-access-team
/conf/provisioning/access-control/ @grafana/identity-access-team
/conf/ldap.toml @grafana/identity-squad
/conf/ldap_multiple.toml @grafana/identity-squad
/conf/provisioning/access-control/ @grafana/access-squad
/conf/provisioning/alerting/ @grafana/alerting-backend
/conf/provisioning/dashboards/ @grafana/dashboards-squad
/conf/provisioning/datasources/ @grafana/plugins-platform-backend

View File

@@ -0,0 +1,45 @@
---
name: New data source request
description: Raise a request for a new data source plugin
title: "[New Data Source]: <name-of-service>"
labels:
- area/datasource,type/new-plugin-request
body:
- type: markdown
attributes:
value: |
Thank you for requesting a new data source plugin!
We greatly appreciate feedback from our community about which new data sources would be beneficial.
Grafana Labs regularly reviews these requests and uses them to inform our prioritization. Note: we cannot offer any guarantees on whether we or our community will build a given data source.
Please check our [roadmap](https://github.com/orgs/grafana/projects/619?pane=info) for existing requests and subscribe to stay informed of our plans. If no request exists, please fill out the following information.
Please do not request support or file bug reports and feature requests for existing plugins here.
- For support, please use the community support resources [here](https://grafana.com/help/).
- Please consider the `New Bug Report` or `Feature Requests` [issue templates](https://github.com/grafana/grafana/issues/new/choose) for other requests.
- type: textarea
id: background
attributes:
label: Background
description: Tell us about the service you would like to see integrated as a data source
placeholder: ACME_DB is an open source time-series database that is used by many organizations to store their metrics data. It is a popular choice for monitoring and observability.
validations:
required: true
- type: textarea
id: use_case
attributes:
label: Use case
description: Describe any key requirements or data you would need surfaced, ideally including why they are useful for you.
placeholder: My team uses ACME_DB as the application database to monitor our produciton workloads, so we'd like to alert on it and visualize ACME_DB data next to our logs and traces in Grafana.
validations:
required: true
- type: checkboxes
attributes:
label: Contribution
description: If you are interested in creating the data source yourself and contributing to the [plugin catalog](https://grafana.com/grafana/plugins/), please fill in the following
options:
- label: Are you looking to create the plugin?
- label: Are you affiliated with the project/product the data source integrates with?
- label: Does the plugin integrate with a commercial product?

View File

@@ -1,39 +0,0 @@
---
name: '@grafana/ui component request'
about: Suggest a component for the @grafana/ui package
labels: 'area/grafana/ui'
---
<!--
By using this template you will make it easier for us to make sure that documentation and implementation stays up to date for every component in @grafana/ui
Thank you!
-->
**Why is this component needed**:
<!-- Explain your use case -->
___
- [ ] Is/could it be used in more than one place in Grafana?
**Where is/could it be used?**:
___
- [ ] Post screenshots possible.
- [ ] It has a single use case.
- [ ] It is/could be used in multiple places.
**Implementation** (Checklist meant for the person implementing the component)
- [ ] Component has a story in Storybook.
- [ ] Props and naming follows [our style guide](https://github.com/grafana/grafana/blob/main/contribute/style-guides/frontend.md).
- [ ] It is extendable (rest props are spread, styles with className work, and so on).
- [ ] Uses [theme for spacing, colors, and so on](https://github.com/grafana/grafana/blob/main/contribute/style-guides/themes.md).
- [ ] Works with both light and dark theme.
**Documentation**
- [ ] Properties are documented.
- [ ] Use cases are described.
- [ ] Code examples for the different use cases.
- [ ] Dos and don'ts.
- [ ] Styling guidelines, specific color usage (if applicable).

View File

@@ -1,43 +0,0 @@
name: UX design issue
description: Create an issue for delivering wireframes, mockups or other design solutions.
title: "UX: "
labels: ["type/ux"]
body:
- type: textarea
id: background
attributes:
label: "Background / Why we're doing this"
description: Describe the problem and background of the issue. This could include research insights that inform the design changes, unmet user needs, or other usability issues.
placeholder: Add UI improvements to make Grafana Alerting alert creation easier based on usability test results.
validations:
required: true
- type: dropdown
attributes:
label: Is there existing research for this?
description: Please link research results or insights in the Background section if you have any. If no research was conducted, you might want to consider usability testing your design later.
options: [
"Yes, I have linked it",
"No research yet"
]
validations:
required: true
- type: textarea
id: problems-or-tasks
attributes:
label: Problems or tasks
description: Describe problems the new design should solve or tasks the user needs to complete.
placeholder:
value: |
- A problem we're trying to solve
- A task the user needs to accomplish
- …
validations:
required: false
- type: textarea
attributes:
label: Deliverables
description: Add a checklist of deliverables here. You can later add links to each deliverable.
value: |
- Figma mockup
- Miro board
- …

View File

@@ -1,17 +0,0 @@
---
name: Chore
about: Create an issue for a chore needing completion
labels: 'type: chore'
---
<!--
Please use this template to create your chore issue. You can use this template if you spot an out-of-date README, discover a misspelling, or happen upon a deeply nested 7-layer for-loop that could be better handled another way. Please use this template for your non-bug related fixes/updates/refactors.
- Questions should be posted to: https://community.grafana.com
- Use query inspector to troubleshoot issues: https://bit.ly/2XNF6YS
- How to record and attach gif: https://bit.ly/2Mi8T6K
-->
**What is the chore?**:
**Is there anything else we need to know?**:

View File

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

View File

@@ -47,4 +47,4 @@ Fixes #
Please check that:
- [ ] It works as expected from a user's perspective.
- [ ] If this is a pre-GA feature, it is behind a feature toggle.
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/#how-to-determine-if-content-belongs-in-a-whats-new-document), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/writing-guide/contribute-release-notes/) doc.
- [ ] The docs are updated, and if this is a [notable improvement](https://grafana.com/docs/writers-toolkit/contribute/release-notes/#how-to-determine-if-content-belongs-in-whats-new), it's added to our [What's New](https://grafana.com/docs/writers-toolkit/contribute/release-notes/) doc.

1028
.github/commands.json vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,11 @@
[
{
"type": "author",
"memberOf": { "org": "grafana" },
"memberOf": {
"org": "grafana"
},
"noLabels": true,
"addLabel": "internal",
"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/ISSUE_TRIAGE.md#3-categorizing-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
"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:"
}
]
]

View File

@@ -29,4 +29,4 @@
"query": "is:open is:pull-request"
}
]
}
}

View File

@@ -1,11 +1,4 @@
[
{
"type": "check-milestone",
"title": "Milestone Check",
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#assign-a-milestone",
"success": "Milestone set",
"failure": "Milestone not set"
},
{
"type": "check-changelog",
"title": "Changelog Check",
@@ -27,4 +20,4 @@
},
"targetUrl": "https://github.com/grafana/grafana/blob/main/contribute/merge-pull-request.md#include-in-changelog-and-release-notes"
}
]
]

View File

@@ -2,8 +2,8 @@
{
"type": "changedfiles",
"matches": [
"docs/**/*",
"contribute/**/*"
"docs/**/*",
"contribute/**/*"
],
"action": "updateLabel",
"addLabel": "type/docs"
@@ -11,21 +11,21 @@
{
"type": "changedfiles",
"matches": [
"public/**/*",
"packages/**/*",
"e2e/**/*",
"plugins-bundled/**/*",
"scripts/build/release-packages.sh",
"scripts/circle-release-next-packages.sh",
"scripts/ci-frontend-metrics.sh",
"scripts/grunt/**/*",
"scripts/webpack/**/*",
"package.json",
"tsconfig.json",
"lerna.json",
".prettierrc.js",
".eslintrc",
"**/*.mdx"
"public/**/*",
"packages/**/*",
"e2e/**/*",
"plugins-bundled/**/*",
"scripts/build/release-packages.sh",
"scripts/circle-release-next-packages.sh",
"scripts/ci-frontend-metrics.sh",
"scripts/grunt/**/*",
"scripts/webpack/**/*",
"package.json",
"tsconfig.json",
"lerna.json",
".prettierrc.js",
".eslintrc",
"**/*.mdx"
],
"action": "updateLabel",
"addLabel": "area/frontend"
@@ -33,11 +33,11 @@
{
"type": "changedfiles",
"matches": [
"**/*.go",
"go.mod",
"go.sum",
"contribute/style-guides/backend.md",
"contribute/architecture/backend/**/*"
"**/*.go",
"go.mod",
"go.sum",
"contribute/style-guides/backend.md",
"contribute/architecture/backend/**/*"
],
"action": "updateLabel",
"addLabel": "area/backend"
@@ -45,15 +45,17 @@
{
"type": "changedfiles",
"matches": [
"pkg/services/sqlstore/migrations/**/*",
"**/*_mig.go"
"pkg/services/sqlstore/migrations/**/*",
"**/*_mig.go"
],
"action": "updateLabel",
"addLabel": "area/backend/db/migration"
},
{
"type": "changedfiles",
"matches": [ "public/app/features/explore/**/*"],
"matches": [
"public/app/features/explore/**/*"
],
"action": "updateLabel",
"addLabel": "area/explore"
},
@@ -82,384 +84,357 @@
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/azuremonitor/**/*", "pkg/tsdb/azuremonitor/**/*"],
"matches": [
"public/app/plugins/datasource/azuremonitor/**/*",
"pkg/tsdb/azuremonitor/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Azure"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloud-monitoring/**/*", "pkg/tsdb/cloud-monitoring/**/*"],
"matches": [
"public/app/plugins/datasource/cloud-monitoring/**/*",
"pkg/tsdb/cloud-monitoring/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/GoogleCloudMonitoring"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/cloudwatch/**/*", "pkg/tsdb/cloudwatch/**/*"],
"matches": [
"public/app/plugins/datasource/cloudwatch/**/*",
"pkg/tsdb/cloudwatch/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/CloudWatch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/elasticsearch/**/*", "pkg/tsdb/elasticsearch/**/*"],
"matches": [
"public/app/plugins/datasource/elasticsearch/**/*",
"pkg/tsdb/elasticsearch/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Elasticsearch"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/graphite/**/*", "pkg/tsdb/graphite/**/*"],
"matches": [
"public/app/plugins/datasource/graphite/**/*",
"pkg/tsdb/graphite/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Graphite"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/influxdb/**/*", "pkg/tsdb/influx/**/*"],
"matches": [
"public/app/plugins/datasource/influxdb/**/*",
"pkg/tsdb/influx/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/InfluxDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/jaeger/**/*"],
"matches": [
"public/app/plugins/datasource/jaeger/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Jaeger"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/loki/**/*", "pkg/tsdb/loki/**/*"],
"matches": [
"public/app/plugins/datasource/loki/**/*",
"pkg/tsdb/loki/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Loki"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mssql/**/*", "pkg/tsdb/mssql/**/*"],
"matches": [
"public/app/plugins/datasource/mssql/**/*",
"pkg/tsdb/mssql/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/MSSQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/mysql/**/*", "pkg/tsdb/mysql/**/*"],
"matches": [
"public/app/plugins/datasource/mysql/**/*",
"pkg/tsdb/mysql/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/MySQL"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/opentsdb/**/*", "pkg/tsdb/opentsdb/**/*"],
"matches": [
"public/app/plugins/datasource/opentsdb/**/*",
"pkg/tsdb/opentsdb/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/OpenTSDB"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/parca/**/*"],
"matches": [
"public/app/plugins/datasource/parca/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Parca"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-pyroscope-datasource/**/*", "pkg/tsdb/grafana-pyroscope-datasource/**/*"],
"matches": [
"public/app/plugins/datasource/grafana-pyroscope-datasource/**/*",
"pkg/tsdb/grafana-pyroscope-datasource/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/grafana-pyroscope"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/grafana-postgresql-datasource/**/*", "pkg/tsdb/grafana-postgresql-datasource/**/*"],
"matches": [
"public/app/plugins/datasource/grafana-postgresql-datasource/**/*",
"pkg/tsdb/grafana-postgresql-datasource/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Postgres"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/prometheus/**/*", "pkg/tsdb/prometheus/**/*"],
"matches": [
"public/app/plugins/datasource/prometheus/**/*",
"pkg/tsdb/prometheus/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Prometheus"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/tempo/**/*", "pkg/tsdb/tempo/**/*"],
"matches": [
"public/app/plugins/datasource/tempo/**/*",
"pkg/tsdb/tempo/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Tempo"
},
{
"type": "changedfiles",
"matches": [ "public/app/plugins/datasource/zipkin/**/*"],
"matches": [
"public/app/plugins/datasource/zipkin/**/*"
],
"action": "updateLabel",
"addLabel": "datasource/Zipkin"
},
{
"type": "changedfiles",
"matches": ["public/app/features/variables/**/*", "public/app/features/templating/**/*"],
"matches": [
"public/app/features/variables/**/*",
"public/app/features/templating/**/*"
],
"action": "updateLabel",
"addLabel": "area/dashboard/templating"
},
{
"type": "changedfiles",
"matches": ["/pkg/services/ngalert/**/*", "/pkg/services/sqlstore/migrations/ualert/**/*", "/pkg/services/alerting/**/*", "/public/app/features/alerting/**/*", "/pkg/tests/api/alerting/**/*"],
"matches": [
"/pkg/services/ngalert/**/*",
"/pkg/services/sqlstore/migrations/ualert/**/*",
"/pkg/services/alerting/**/*",
"/public/app/features/alerting/**/*",
"/pkg/tests/api/alerting/**/*"
],
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": { "org": "grafana" },
"ignoreList": ["renovate[bot]","dependabot[bot]","grafana-delivery-bot[bot]","grafanabot"],
"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": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/candlestick/**/*"],
"matches": [
"public/app/plugins/panel/candlestick/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/candlestick"
},
{
"type": "label",
"name": "area/panel/candlestick",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/canvas/**/*", "/public/app/features/canvas/**/*"],
"matches": [
"public/app/plugins/panel/canvas/**/*",
"/public/app/features/canvas/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/canvas"
},
{
"type": "label",
"name": "area/panel/canvas",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/barchart/**/*"],
"matches": [
"public/app/plugins/panel/barchart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/barchart"
},
{
"type": "label",
"name": "area/panel/barchart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/geomap/**/*", "/public/app/features/geo/**/*"],
"matches": [
"public/app/plugins/panel/geomap/**/*",
"/public/app/features/geo/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/geomap"
},
{
"type": "label",
"name": "area/panel/geomap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/graph/**/*", "/packages/grafana-ui/src/components/Graph/**/*", "/packages/grafana-ui/src/components/GraphNG/**/*"],
"matches": [
"public/app/plugins/panel/graph/**/*",
"/packages/grafana-ui/src/components/Graph/**/*",
"/packages/grafana-ui/src/components/GraphNG/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/graph"
},
{
"type": "label",
"name": "area/panel/graph",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/heatmap/**/*"],
"matches": [
"public/app/plugins/panel/heatmap/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/heatmap"
},
{
"type": "label",
"name": "area/panel/heatmap",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/histogram/**/*"],
"matches": [
"public/app/plugins/panel/histogram/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/histogram"
},
{
"type": "label",
"name": "area/panel/histogram",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/state-timeline/**/*"],
"matches": [
"public/app/plugins/panel/state-timeline/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/state-timeline"
},
{
"type": "label",
"name": "area/panel/state-timeline",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/status-history/**/*"],
"matches": [
"public/app/plugins/panel/status-history/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/status-history"
},
{
"type": "label",
"name": "area/panel/status-history",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/timeseries/**/*", "/packages/grafana-ui/src/components/TimeSeries/**/*"],
"matches": [
"public/app/plugins/panel/timeseries/**/*",
"/packages/grafana-ui/src/components/TimeSeries/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/timeseries"
},
{
"type": "label",
"name": "area/panel/timeseries",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/xychart/**/*"],
"matches": [
"public/app/plugins/panel/xychart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/xychart"
},
{
"type": "label",
"name": "area/panel/xychart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/trend/**/*"],
"matches": [
"public/app/plugins/panel/trend/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/trend"
},
{
"type": "label",
"name": "area/panel/trend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizLegend/**/*"],
"matches": [
"/packages/grafana-ui/src/components/VizLegend/**/*"
],
"action": "updateLabel",
"addLabel": "area/legend"
},
{
"type": "label",
"name": "area/legend",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["/packages/grafana-ui/src/components/VizTooltip/**/*", "public/app/feature/visualization/data-hover/**/*" ],
"matches": [
"/packages/grafana-ui/src/components/VizTooltip/**/*",
"public/app/feature/visualization/data-hover/**/*"
],
"action": "updateLabel",
"addLabel": "area/tooltip"
},
{
"type": "label",
"name": "area/tooltip",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/gauge/**/*", "/packages/grafana-ui/src/components/Gauge/**/*"],
"matches": [
"public/app/plugins/panel/gauge/**/*",
"/packages/grafana-ui/src/components/Gauge/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/gauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/bargauge/**/*", "/packages/grafana-ui/src/components/BarGauge/**/*"],
"matches": [
"public/app/plugins/panel/bargauge/**/*",
"/packages/grafana-ui/src/components/BarGauge/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/gauge"
},
{
"type": "label",
"name": "area/panel/bargauge",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
"addLabel": "area/panel/bargauge"
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/stat/**/*"],
"matches": [
"public/app/plugins/panel/stat/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/stat"
},
{
"type": "label",
"name": "area/panel/stat",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
},
{
"type": "changedfiles",
"matches": ["public/app/plugins/panel/piechart/**/*"],
"matches": [
"public/app/plugins/panel/piechart/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/piechart"
},
{
"type": "label",
"name": "area/panel/piechart",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
}
"type": "changedfiles",
"matches": [
"public/app/plugins/panel/table/**/*",
"/packages/grafana-ui/src/components/Table/**/*"
],
"action": "updateLabel",
"addLabel": "area/panel/table"
}
]
]

View File

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

View File

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

View File

@@ -0,0 +1,6 @@
{
"name": "changelog",
"main": "index.js",
"type": "module",
"description": "changelog generator"
}

View File

@@ -1,39 +1,27 @@
name: Auto-milestone
on:
pull_request:
pull_request_target:
types:
- opened
- reopened
- closed
- ready_for_review
permissions:
pull-requests: write
contents: write
# Note: this action runs with write permissions on GITHUB_TOKEN even from forks
# so it must not run untrusted code (such as checking out the pull request)
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.GRAFANA_DELIVERY_BOT_APP_ID != '' && secrets.GRAFANA_DELIVERY_BOT_APP_PEM != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
main:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
# 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
with:
pr: ${{ github.event.pull_request.number }}
token: ${{ steps.generate_token.outputs.token }}
token: ${{ secrets.GITHUB_TOKEN }}

View File

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

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

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

View File

@@ -1,11 +1,21 @@
name: Run commands when issues are labeled or comments added
# important: this workflow uses a github app that is strictly limited
# to issues. If you want to change the triggers for this workflow,
# please review if the permissions are still sufficient.
on:
issues:
types: [labeled, unlabeled]
issue_comment:
types: [created]
concurrency:
group: issue-commands-${{ github.event.issue.number }}
permissions:
contents: read
id-token: write
jobs:
config:
runs-on: "ubuntu-latest"
@@ -16,7 +26,7 @@ jobs:
id: check
shell: bash
run: |
if [ -n "${{ (secrets.GRAFANA_MISC_STATS_API_KEY != '' && secrets.ISSUE_COMMANDS_TOKEN != '') || '' }}" ]; then
if [ "${{ github.repository }}" == "grafana/grafana" ] && [ -n "${{ secrets.GRAFANA_MISC_STATS_API_KEY }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
@@ -25,17 +35,34 @@ jobs:
if: needs.config.outputs.has-secrets
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/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
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
- 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: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.ISSUE_COMMANDS_TOKEN}}
token: ${{ steps.generate_token.outputs.token }}
configPath: commands

View File

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

View File

@@ -2,6 +2,10 @@
---
name: Levitate / Detect breaking changes in PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
paths:
@@ -11,7 +15,7 @@ on:
jobs:
buildPR:
name: Build PR
name: Build PR packages artifacts
runs-on: ubuntu-latest
defaults:
run:
@@ -27,7 +31,7 @@ jobs:
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT"
- name: Restore yarn cache
uses: actions/cache@v4
@@ -57,7 +61,7 @@ jobs:
path: './pr/pr_built_packages.zip'
buildBase:
name: Build Base
name: Build Base packages artifacts
runs-on: ubuntu-latest
defaults:
run:
@@ -75,7 +79,7 @@ jobs:
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
run: echo "dir=$(yarn config get cacheFolder)" >> "$GITHUB_OUTPUT"
- name: Restore yarn cache
uses: actions/cache@v4
@@ -105,11 +109,14 @@ jobs:
path: './base/base_built_packages.zip'
Detect:
name: Detect breaking changes
name: Detect breaking changes between PR and base
runs-on: ubuntu-latest
needs: ['buildPR', 'buildBase']
env:
GITHUB_STEP_NUMBER: 8
permissions:
contents: 'read'
id-token: 'write'
steps:
- uses: actions/checkout@v4
@@ -133,6 +140,20 @@ jobs:
- name: Unzip artifact from base
run: unzip -j base_built_packages.zip -d ./base && rm base_built_packages.zip
- id: 'auth'
uses: 'google-github-actions/auth@v2'
with:
workload_identity_provider: ${{ secrets.WIF_PROVIDER }}
service_account: ${{ secrets.LEVITATE_SA }}
project_id: 'grafanalabs-global'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v2'
with:
version: '>= 363.0.0'
project_id: 'grafanalabs-global'
install_components: 'bq'
- name: Get link for the Github Action job
id: job
uses: actions/github-script@v6
@@ -162,7 +183,7 @@ jobs:
Report:
name: Report breaking changes in PR
name: Report breaking changes in PR comment
runs-on: ubuntu-latest
needs: ['Detect']
@@ -217,9 +238,9 @@ jobs:
echo 'levitate_markdown<<EOF'
cat levitate.md
echo EOF
} >> $GITHUB_OUTPUT
} >> "$GITHUB_OUTPUT"
else
echo "levitate_markdown=No breaking changes detected" >> $GITHUB_OUTPUT
echo "levitate_markdown=No breaking changes detected" >> "$GITHUB_OUTPUT"
fi
@@ -236,7 +257,8 @@ jobs:
${{ steps.levitate-markdown.outputs.levitate_markdown }}
[Read our guideline](https://github.com/grafana/grafana/blob/main/contribute/breaking-changes-guide/breaking-changes-guide.md)
[Console output](${{ steps.levitate-run.outputs.job_link }})
* Your pull request merge won't be blocked.
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
# Remove comment from the PR (no more breaking changes)
@@ -336,5 +358,10 @@ jobs:
});
- name: Exit
run: exit ${{ steps.levitate-run.outputs.exit_code }}
run: |
if [ "${{ steps.levitate-run.outputs.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 }}
shell: bash

View File

@@ -1,13 +1,18 @@
name: "doc-validator"
on:
pull_request:
paths: ["docs/sources/**"]
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.0.0"
image: "grafana/doc-validator:v5.2.0"
steps:
- name: "Checkout code"
uses: "actions/checkout@v4"
@@ -15,15 +20,7 @@ jobs:
# Only run doc-validator on specific directories.
run: >
doc-validator
'--include=^docs/sources/(?:alerting|fundamentals|getting-started|introduction|setup-grafana|upgrade-guide|whatsnew/whats-new-in-v(?:9|10))/.+\.md$'
'--include=${{ inputs.include }}'
'--skip-checks=^(?:image.+|canonical-does-not-match-pretty-URL)$'
./docs/sources
/docs/grafana/latest
| reviewdog
-f=rdjsonl
--fail-on-error
--filter-mode=nofilter
--name=doc-validator
--reporter=github-pr-review
env:
REVIEWDOG_GITHUB_API_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -1,14 +1,12 @@
name: 'Ephemeral instances: PR comment'
name: 'Ephemeral instances'
on:
issue_comment:
types: [created]
pull_request:
types: [closed]
jobs:
config:
if: github.event.sender.type == 'User' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/deploy-to-hg')
runs-on:
labels: ubuntu-latest-8-cores
runs-on: "ubuntu-latest"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
@@ -30,9 +28,7 @@ jobs:
handle-pull-request-event:
needs: config
if: needs.config.outputs.has-secrets &&
github.event.sender.type == 'User' &&
github.event.issue.pull_request &&
startsWith(github.event.comment.body, '/deploy-to-hg')
${{ github.event.issue.pull_request && (startsWith(github.event.comment.body, '/deploy-to-hg') || github.event.action == 'closed') }}
runs-on:
labels: ubuntu-latest-8-cores
continue-on-error: true
@@ -52,34 +48,14 @@ jobs:
ref: main
path: ephemeral
- name: Setup Go
uses: actions/setup-go@v4
- name: build and deploy ephemeral instance
uses: ./ephemeral
with:
go-version-file: ephemeral/go.mod
- name: Get latest grafana version number
run: |
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt
curl https://raw.githubusercontent.com/grafana/grafana/main/package.json | jq -r .version | grep -o '^[0-9\.]*' > version.txt
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
# Create a prerelease version number using the latest version from the package.json in the grafana repo.
export GRAFANA_VERSION="$(cat version.txt)"
echo "${GRAFANA_VERSION}"
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_WORKFLOW_RUN_ID="${{ github.run_id }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
-GCOM_TOKEN="${{ secrets.EI_GCOM_TOKEN }}" \
-HOSTED_GRAFANA_IMAGE_TAG="$GRAFANA_VERSION-ephemeral-oss-${{ github.event.issue.number}}-${{ github.run_number }}-${{ github.run_attempt }}" \
-REGISTRY="${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}" \
-GRAFANA_VERSION="$GRAFANA_VERSION" \
-GCP_SERVICE_ACCOUNT_KEY_BASE64="${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}" \
-EPHEMERAL_ORG_ID="${{ secrets.EI_EPHEMERAL_ORG_ID }}" || true
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 }}"
oss-or-enterprise: oss
verbose: true

View File

@@ -1,77 +0,0 @@
name: 'Ephemeral instances: PR opened/closed'
on:
pull_request:
types: [opened, reopened, 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
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.EI_APP_ID }}
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
- name: Checkout ephemeral instances repository
uses: actions/checkout@v4
with:
repository: grafana/ephemeral-grafana-instances-github-action
token: ${{ steps.generate_token.outputs.token }}
ref: main
path: ephemeral
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: ephemeral/go.mod
- name: Get latest grafana version number
run: |
# if package.json contains e.g. 11.0.0-pre, this writes 11.0.0 to version.txt
curl https://raw.githubusercontent.com/grafana/grafana/main/package.json | jq -r .version | grep -o '^[0-9\.]*' > version.txt
- name: Run action
env:
GITHUB_EVENT: ${{ toJson(github.event)}}
run: |
# Create a prerelease version number using the latest version from the package.json in the grafana repo.
export GRAFANA_VERSION="$(cat version.txt)"
echo "${GRAFANA_VERSION}"
cd $GITHUB_WORKSPACE/ephemeral/src
go run . \
-GITHUB_TOKEN="${{ steps.generate_token.outputs.token }}" \
-GITHUB_WORKFLOW_RUN_ID="${{ github.run_id }}" \
-GITHUB_EVENT="$GITHUB_EVENT" \
-GITHUB_TRIGGERING_ACTOR="${{ github.triggering_actor }}" \
-GCOM_HOST="${{ secrets.EI_GCOM_HOST }}" \
-GCOM_TOKEN="${{ secrets.EI_GCOM_TOKEN }}" \
-HOSTED_GRAFANA_IMAGE_TAG="unused" \
-REGISTRY="${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}" \
-GRAFANA_VERSION="$GRAFANA_VERSION" \
-GCP_SERVICE_ACCOUNT_KEY_BASE64="${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}" \
-EPHEMERAL_ORG_ID="${{ secrets.EI_EPHEMERAL_ORG_ID }}" || true

View File

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

View File

@@ -23,11 +23,10 @@ jobs:
- run: CODEGEN_VERIFY=1 make gen-cue
- run: make gen-go
- name: golangci-lint
uses: golangci/golangci-lint-action@v5
uses: golangci/golangci-lint-action@v6
with:
version: v1.59.0
version: v1.60.1
args: |
--config .golangci.toml --max-same-issues=0 --max-issues-per-linter=0 --verbose ./pkg/... ./pkg/apimachinery/... ./pkg/apiserver/... ./pkg/build/wire/... ./pkg/promlib/... ./pkg/util/xorm/...
only-new-issues: true
--config .golangci.toml --max-same-issues=0 --max-issues-per-linter=0 --verbose $(./scripts/go-workspace/golangci-lint-includes.sh)
skip-cache: true
install-mode: binary

View File

@@ -14,13 +14,21 @@ jobs:
pull-requests: write # needed to update PR description, labels, etc
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: ${{ steps.generate_token.outputs.token }}
- name: Download sources
id: crowdin-download
uses: crowdin/github-action@v1
uses: crowdin/github-action@v2
with:
upload_sources: false
upload_translations: false
@@ -53,18 +61,10 @@ jobs:
github_user_name: "github-actions[bot]"
github_user_email: "41898282+github-actions[bot]@users.noreply.github.com"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
- name: Generate token
if: steps.crowdin-download.outputs.pull_request_url
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
- name: Get pull request ID
if: steps.crowdin-download.outputs.pull_request_url
shell: bash
@@ -74,7 +74,7 @@ jobs:
pr_id=$(gh pr view ${{ steps.crowdin-download.outputs.pull_request_url }} --json id -q .id)
echo "PULL_REQUEST_ID=$pr_id" >> "$GITHUB_ENV"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Get project board ID
uses: octokit/graphql-action@v2.x
@@ -110,7 +110,6 @@ jobs:
}
}
}
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
@@ -119,4 +118,4 @@ jobs:
if: steps.crowdin-download.outputs.pull_request_url
with:
pr: ${{ steps.crowdin-download.outputs.pull_request_number }}
token: ${{ secrets.GITHUB_TOKEN }}
token: ${{ steps.generate_token.outputs.token }}

View File

@@ -17,7 +17,7 @@ jobs:
uses: actions/checkout@v4
- name: Upload sources
uses: crowdin/github-action@v1
uses: crowdin/github-action@v2
with:
upload_sources: true
upload_sources_args: '--dest=public/locales/en-US/grafana.json'

View File

@@ -49,8 +49,8 @@ jobs:
fi
# set environment for next steps
echo "CHANNEL=${CHANNEL}" >> $GITHUB_ENV
echo "TEAM=${TEAM}" >> $GITHUB_ENV
echo "CHANNEL=${CHANNEL}" >> "$GITHUB_ENV"
echo "TEAM=${TEAM}" >> "$GITHUB_ENV"
- name: "Prepare payload"
uses: frabert/replace-string-action@v2.5
@@ -64,22 +64,22 @@ jobs:
- name: Get Token
id: get_workflow_token
uses: peter-murray/workflow-application-token-action@v3
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
application_id: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_ID }}
application_private_key: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_KEY }}
app_id: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_ID }}
private_key: ${{ secrets.APP_GRAFANA_TEAM_CHECKER_KEY }}
- name: "Check that issue author is not part of the team"
if: ${{ env.TEAM != 'null' }}
run: |
response=$(gh api /orgs/grafana/teams/${{ env.TEAM }}/memberships/${{ github.event.issue.user.login }} -i -H "Accept: application/vnd.github.v3+json")
STATUS_CODE=$(echo "$response" | head -n 1 | cut -d' ' -f2)
if [ "$status_code" -eq 404 ]; then
if [ "$STATUS_CODE" -eq "404" ]; then
echo "The user was not found in the team."
echo "USER_FOUND=false" >> $GITHUB_ENV
echo "USER_FOUND=false" >> "$GITHUB_ENV"
else
echo "The user was potentially found in the team"
echo "USER_FOUND=maybe" >> $GITHUB_ENV
echo "USER_FOUND=maybe" >> "$GITHUB_ENV"
fi
env:
GITHUB_TOKEN: ${{ steps.get_workflow_token.outputs.token }}

View File

@@ -1,28 +1,120 @@
name: Run commands when issues are opened
# important: this workflow uses a github app that is strictly limited
# to issues. If you want to change the triggers for this workflow,
# please review if the permissions are still sufficient.
on:
issues:
types: [opened]
concurrency:
group: issue-opened-${{ github.event.issue.number }}
permissions:
contents: read
id-token: write
jobs:
main:
runs-on: ubuntu-latest
if: github.repository == 'grafana/grafana'
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
# give issue-openers a chance to add labels after submit
- name: Sleep for 2 minutes
run: sleep 2m
shell: bash
- 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/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
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
- name: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
token: ${{secrets.ISSUE_COMMANDS_TOKEN}}
token: ${{ steps.generate_token.outputs.token }}
configPath: "issue-opened"
auto-triage:
needs: [main]
if: github.repository == 'grafana/grafana' && github.event.issue.author_association != 'MEMBER' && github.event.issue.author_association != 'OWNER'
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/plugins_platform_issue_triager path in Vault
repo_secrets: |
AUTOTRIAGER_OPENAI_API_KEY=plugins_platform_issue_triager:AUTOTRIAGER_OPENAI_API_KEY
AUTOTRIAGER_SLACK_WEBHOOK_URL=plugins_platform_issue_triager:AUTOTRIAGER_SLACK_WEBHOOK_URL
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
- name: Checkout auto-triager repository
uses: actions/checkout@v4
with:
repository: grafana/auto-triager
path: auto-triager
token: ${{ steps.generate_token.outputs.token }}
- name: Send issue to the auto triager action
id: auto_triage
# https://github.com/grafana/auto-triager/blob/main/action.yml
#uses: grafana/auto-triager@main
uses: ./auto-triager
with:
token: ${{ steps.generate_token.outputs.token }}
issue_number: ${{ github.event.issue.number }}
openai_api_key: ${{ env.AUTOTRIAGER_OPENAI_API_KEY }}
add_labels: true
- name: Labels from auto triage
run: |
echo ${{ steps.auto_triage.outputs.triage_labels }}
- name: "Send Slack notification"
if: ${{ steps.auto_triage.outputs.triage_labels != '' }}
uses: slackapi/slack-github-action@v1.27.0
with:
payload: >
{
"icon_emoji": ":robocto:",
"username": "Auto Triager",
"type": "mrkdwn",
"text": "Auto triager found the following labels: ${{ steps.auto_triage.outputs.triage_labels }} for issue ${{ github.event.issue.html_url }}",
"channel": "#triage-automation-ci"
}
env:
SLACK_WEBHOOK_URL: ${{ env.AUTOTRIAGER_SLACK_WEBHOOK_URL }}

View File

@@ -4,11 +4,6 @@ on:
workflow_dispatch:
pull_request:
branches: [main]
paths:
- '**/go.work'
- '**/go.work.sum'
- '**/go.mod'
- '**/go.sum'
jobs:
check:
@@ -24,28 +19,17 @@ jobs:
with:
go-version-file: go.mod
- name: Workspace Sync
run: go work sync
- name: Update workspace
run: make update-workspace
- name: Check for go mod & workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected:"
git diff
echo "Please run 'go work sync' and commit the changes."
echo "If there is a change in enterprise dependencies, please update pkg/extensions/main.go."
exit 1
fi
- name: Build
run: make build-go
- name: Check for go workspace changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected:"
git diff
echo "Please run 'make build-go' and commit the changes."
echo "Please run 'make update-workspace' and commit the changes."
echo "If there is a change in enterprise dependencies, please update pkg/extensions/main.go."
exit 1
fi
- name: Ensure Dockerfile contains submodule COPY commands
run: ./scripts/go-workspace/validate-dockerfile.sh

View File

@@ -0,0 +1,38 @@
name: "K8s Codegen Check"
on:
workflow_dispatch:
pull_request:
branches: [main]
paths:
- "pkg/apis/**"
- "pkg/aggregator/apis/**"
- "pkg/apimachinery/apis/**"
- "hack/**"
- "*.sum"
jobs:
check:
name: K8s Codegen Check
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set go version
uses: actions/setup-go@v4
with:
go-version-file: go.mod
- name: Update k8s codegen
run: ./hack/update-codegen.sh
- name: Check for k8s codegen changes
run: |
if ! git diff --exit-code --quiet; then
echo "Changes detected:"
git diff
echo "Please run './hack/update-codegen.sh' and commit the changes."
exit 1
fi

View File

@@ -0,0 +1,49 @@
# Owned by grafana-delivery-squad
# Intended to be dropped into the base repo Ex: grafana/grafana
name: Dispatch check for patch conflicts
run-name: dispatch-check-patch-conflicts-${{ github.base_ref }}-${{ github.head_ref }}
on:
pull_request:
types:
- opened
- reopened
- synchronize
branches:
- "main"
- "v*.*.*"
- "release-*"
# Since this is run on a pull request, we want to apply the patches intended for the
# target branch onto the source branch, to verify compatibility before merging.
jobs:
dispatch-job:
runs-on: ubuntu-latest
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
# App needs Actions: Read/Write for the grafana/security-patch-actions repo
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: "Dispatch job"
uses: actions/github-script@v7
with:
github-token: ${{ steps.generate_token.outputs.token }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'grafana',
repo: 'security-patch-actions',
workflow_id: 'test-patches-event.yml',
ref: 'main',
inputs: {
src_repo: "${{ github.repository }}",
src_ref: "${{ github.head_ref }}",
src_merge_sha: "${{ github.sha }}",
src_pr_commit_sha: "${{ github.event.pull_request.head.sha }}",
patch_repo: "${{ github.repository }}-security-patches",
patch_ref: "${{ github.base_ref }}",
triggering_github_handle: "${{ github.event.sender.login }}"
}
})

View File

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

View File

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

View File

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

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

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

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

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

View File

@@ -1,47 +0,0 @@
name: Run dashboard scenes e2e
on:
schedule:
- cron: "0 8 * * 1-5" # every day at 08:00UTC on weekdays
# push # uncomment for test run during PR
env:
ARCH: linux-amd64
jobs:
dashboard-scenes-e2e:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Pin Go version to mod file
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- run: go version
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: yarn install --immutable
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@v6
with:
runTests: false
- name: Run dashboard scenes e2e
run: yarn e2e:scenes
- name: "Send Slack notification"
if: ${{ failure() }}
uses: slackapi/slack-github-action@v1.26.0
with:
payload: >
{
"icon_emoji": ":this-is-fine-fire:",
"username": "Dashboard scenes e2e tests failed",
"text": "Link to run: https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}",
"channel": "#grafana-dashboards-squad"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

View File

@@ -1,14 +0,0 @@
name: Snyk Monitor Scanning
on:
release:
types: [published]
push:
branches:
- 'main'
workflow_dispatch:
jobs:
snyk-scan-ci:
uses: 'grafana/security-github-actions/.github/workflows/snyk_monitor.yml@main'
secrets:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}

43
.github/workflows/sync-mirror-event.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# Owned by grafana-delivery-squad
# Intended to be dropped into the base repo, Ex: grafana/grafana
name: Dispatch sync to mirror
run-name: dispatch-sync-to-mirror-${{ github.ref_name }}
on:
workflow_dispatch:
push:
branches:
- "main"
- "v*.*.*"
- "release-*"
# This is run after the pull request has been merged, so we'll run against the target branch
jobs:
dispatch-job:
runs-on: ubuntu-latest
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
# App needs Actions: Read/Write for the grafana/security-patch-actions repo
app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }}
private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }}
- uses: actions/github-script@v7
if: github.repository == 'grafana/grafana'
with:
github-token: ${{ steps.generate_token.outputs.token }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: 'grafana',
repo: 'security-patch-actions',
workflow_id: 'mirror-branch-and-apply-patches-event.yml',
ref: 'main',
inputs: {
src_ref: "${{ github.ref_name }}",
src_repo: "${{ github.repository }}",
src_sha: "${{ github.sha }}",
dest_repo: "${{ github.repository }}-security-mirror",
patch_repo: "${{ github.repository }}-security-patches"
}
})

View File

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

54
.github/workflows/trivy-scan.yml vendored Normal file
View File

@@ -0,0 +1,54 @@
name: Trivy Scan
on:
pull_request:
# only run on PRs where go.mod/go.sum/etc have been updated
paths:
- go.*
push:
branches:
- main
paths:
- go.*
jobs:
trivy-scan:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Run Trivy vulnerability scanner (table output)
uses: aquasecurity/trivy-action@0.24.0
with:
# scan the filesystem, rather than building a Docker image prior - the
# downside is we won't catch dependencies that are only installed in the
# image, but the upside is we'll only catch vulnerabilities that are
# explicitly in the our dependencies
scan-type: 'fs'
scanners: 'vuln'
format: 'table'
exit-code: 1
ignore-unfixed: true
vuln-type: 'os,library'
severity: 'CRITICAL,HIGH'
trivyignores: .trivyignore
# for the PR check, ignore JS-related issues
skip-files: 'yarn.lock,package.json'
- name: Run Trivy vulnerability scanner (SARIF)
uses: aquasecurity/trivy-action@0.24.0
with:
scan-type: 'fs'
scanners: 'vuln'
# Note: The SARIF format ignores severity and uploads all vulns for
# later triage. The table-format step above is used to fail the build
# if there are any critical or high vulnerabilities.
# See https://github.com/aquasecurity/trivy-action/issues/95
format: 'sarif'
output: 'trivy-results.sarif'
ignore-unfixed: true
vuln-type: 'os,library'
trivyignores: .trivyignore
if: always() && github.repository == 'grafana/grafana'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'
if: always() && github.repository == 'grafana/grafana'

4
.gitignore vendored
View File

@@ -87,6 +87,7 @@ example-apiserver/
/devenv/docker/blocks/tempo/tempo-data/
/devenv/docker/ha-test-unified-alerting/logs/webhook/dumps/
/devenv/docker/ha-test-unified-alerting/logs/webhook/webhook-listener.log
/devenv/docker/blocks/auth/openldap/certs/
conf/custom.ini
@@ -219,3 +220,6 @@ public/app/plugins/**/dist/
# Locally enabling the Go race detector until we can globally do so
.go-race-enabled-locally
# Mock service worker used for fake API responses in frontend development
public/mockServiceWorker.js

View File

@@ -1,6 +1,7 @@
[run]
timeout = "10m"
timeout = "20m"
concurrency = 10
allow-parallel-runners = true
[linters-settings.exhaustive]
default-signifies-exhaustive = true
@@ -76,11 +77,6 @@ list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
"github.com/grafana/grafana/pkg/apiserver",
"github.com/grafana/grafana/pkg/services/apiserver/utils",
"github.com/grafana/grafana/pkg/services/featuremgmt",
"github.com/grafana/grafana/pkg/infra/kvstore",
"github.com/grafana/grafana/pkg/services/apiserver/options",
"github.com/grafana/grafana/pkg/apis/playlist/v0alpha1",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apiserver is not allowed to import grafana core" }
@@ -103,6 +99,21 @@ files = [
"**/pkg/apimachinery/**/*"
]
[linters-settings.depguard.rules.aggregator]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/aggregator",
"github.com/grafana/grafana/pkg/semconv",
"github.com/grafana/grafana/pkg/apimachinery",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apimachinery is not allowed to import grafana core" }
]
files = [
"./pkg/aggregator/*",
"./pkg/aggregator/**/*"
]
[linters-settings.depguard.rules.promlib]
list-mode = "lax" # allow unless explicitely denied
deny = [
@@ -112,10 +123,48 @@ allow = [
"github.com/grafana/grafana/pkg/promlib"
]
files = [
"**/pkg/promlib/*",
"**/pkg/promlib/**/*"
]
[linters-settings.depguard.rules.storage-unified-resource]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "pkg/storage/unified/resource is not allowed to import grafana core" }
]
files = [
"./pkg/storage/unified/resource/*",
"./pkg/storage/unified/resource/**/*"
]
[linters-settings.depguard.rules.storage-unified-apistore]
list-mode = "lax"
allow = [
"github.com/grafana/grafana/pkg/apimachinery",
"github.com/grafana/grafana/pkg/apiserver",
"github.com/grafana/grafana/pkg/unified/resource",
]
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "pkg/storage/unified/apistore is not allowed to import grafana core" }
]
files = [
"./pkg/storage/unified/apistore/*",
"./pkg/storage/unified/apistore/**/*"
]
[linters-settings.depguard.rules.apps-playlist]
list-mode = "lax"
allow = []
deny = [
{ pkg = "github.com/grafana/grafana/pkg", desc = "apps/playlist is not allowed to import grafana core" }
]
files = [
"./apps/playlist/*",
"./apps/playlist/**/*"
]
[linters-settings.gocritic]
enabled-checks = ["ruleguard"]
[linters-settings.gocritic.settings.ruleguard]
@@ -129,14 +178,20 @@ max-func-lines = 60
[linters]
disable-all = true
# try to keep this list sorted, please
enable = [
"asciicheck",
"bodyclose",
"depguard",
"dogsled",
"errcheck",
"errorlint",
"exhaustive",
"exportloopref",
# "gochecknoinits",
# "goconst",
# "gocritic", # Temporarily disabled on 2022-09-09, running into weird bug "ruleguard: execution error: used Run() with an empty rule set; forgot to call Load() first?"
"gocyclo",
"goimports",
"goprintffuncname",
"gosec",
@@ -145,19 +200,13 @@ enable = [
"ineffassign",
"misspell",
"nakedret",
"exportloopref",
"prealloc",
"revive",
"staticcheck",
"stylecheck",
"typecheck",
"unconvert",
"unused",
"whitespace",
"gocyclo",
"exhaustive",
"typecheck",
"asciicheck",
"errorlint",
"revive",
]
# Disabled linters (might want them later)

1
.nxignore Normal file
View File

@@ -0,0 +1 @@
!conf/custom.ini

View File

@@ -28,5 +28,8 @@ public/api-merged.json
public/api-enterprise-spec.json
public/openapi3.json
# Generated mock service worker
public/mockServiceWorker.js
# Crowdin files
public/locales/**/*.json

1
.trivyignore Normal file
View File

@@ -0,0 +1 @@
# See https://aquasecurity.github.io/trivy/v0.48/docs/configuration/filtering/#trivyignore

6
.vscode/launch.json vendored
View File

@@ -9,7 +9,7 @@
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {},
"cwd": "${workspaceFolder}",
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev", "cfg:app_mode=development"]
},
{
"name": "Run API Server (testdata)",
@@ -44,7 +44,7 @@
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {"GF_GRAFANA_APISERVER_STORAGE_TYPE": "unified-grpc"},
"env": { "GF_GRAFANA_APISERVER_STORAGE_TYPE": "unified-grpc" },
"cwd": "${workspaceFolder}",
"args": ["server", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
},
@@ -54,7 +54,7 @@
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/pkg/cmd/grafana/",
"env": {"GF_DEFAULT_TARGET": "storage-server","GF_SERVER_HTTP_PORT": "3001"},
"env": { "GF_DEFAULT_TARGET": "storage-server", "GF_SERVER_HTTP_PORT": "3001" },
"cwd": "${workspaceFolder}",
"args": ["server", "target", "--homepath", "${workspaceFolder}", "--packaging", "dev"]
},

File diff suppressed because one or more lines are too long

925
.yarn/releases/yarn-4.5.0.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -26,7 +26,7 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-outdated.cjs
spec: 'https://mskelton.dev/yarn-outdated/v2'
yarnPath: .yarn/releases/yarn-4.2.2.cjs
yarnPath: .yarn/releases/yarn-4.5.0.cjs
# Uncomment the following lines if you want to use Verdaccio local npm registry. Read more at packages/README.md
#npmScopes:
# grafana:

View File

@@ -1,3 +1,881 @@
<!-- 11.3.1 START -->
# 11.3.1 (2024-11-19)
### Features and enhancements
- **Alerting:** Make context deadline on AlertNG service startup configurable [#96135](https://github.com/grafana/grafana/pull/96135), [@fayzal-g](https://github.com/fayzal-g)
- **MigrationAssistant:** Restrict dashboards, folders and datasources by the org id of the signed in user [#96345](https://github.com/grafana/grafana/pull/96345), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **User:** Check SignedInUser OrgID in RevokeInvite [#95490](https://github.com/grafana/grafana/pull/95490), [@mgyongyosi](https://github.com/mgyongyosi)
### Bug fixes
- **Alerting:** Fix escaping of silence matchers in utf8 mode [#95347](https://github.com/grafana/grafana/pull/95347), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix overflow for long receiver names [#95133](https://github.com/grafana/grafana/pull/95133), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix saving advanced mode toggle state in the alert rule editor [#95981](https://github.com/grafana/grafana/pull/95981), [@alexander-akhmetov](https://github.com/alexander-akhmetov)
- **Alerting:** Fix setting datasource uid, when datasource is string in old version [#96273](https://github.com/grafana/grafana/pull/96273), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Force refetch prom rules when refreshing panel [#96125](https://github.com/grafana/grafana/pull/96125), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Anonymous User:** Adds validator service for anonymous users [#94994](https://github.com/grafana/grafana/pull/94994), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Anonymous User:** Adds validator service for anonymous users (Enterprise)
- **Azure Monitor:** Support metric namespaces fallback [#95155](https://github.com/grafana/grafana/pull/95155), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Fix duplicated traces in multi-resource trace query [#95247](https://github.com/grafana/grafana/pull/95247), [@aangelisc](https://github.com/aangelisc)
- **Azure:** Handle namespace request rejection [#95909](https://github.com/grafana/grafana/pull/95909), [@aangelisc](https://github.com/aangelisc)
- **CloudWatch:** Interpolate region in log context query [#94990](https://github.com/grafana/grafana/pull/94990), [@iwysiu](https://github.com/iwysiu)
- **Dashboard datasource:** Return annotations as series when query topic is "annotations" [#95971](https://github.com/grafana/grafana/pull/95971), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboard:** Append orgId to URL [#95963](https://github.com/grafana/grafana/pull/95963), [@bfmatei](https://github.com/bfmatei)
- **Dashboards:** Fixes performance issue expanding a row [#95321](https://github.com/grafana/grafana/pull/95321), [@torkelo](https://github.com/torkelo)
- **Flame Graph:** Fix crash when it receives empty data [#96211](https://github.com/grafana/grafana/pull/96211), [@yincongcyincong](https://github.com/yincongcyincong)
- **Folders:** Add admin permissions upon creation of a folder w. SA [#95365](https://github.com/grafana/grafana/pull/95365), [@eleijonmarck](https://github.com/eleijonmarck)
- **Folders:** Don't show error pop-up if the user can't fetch the root folder [#95600](https://github.com/grafana/grafana/pull/95600), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Migration:** Remove table aliasing in delete statement to make it work for mariadb [#95232](https://github.com/grafana/grafana/pull/95232), [@kalleep](https://github.com/kalleep)
- **ServerLock:** Fix pg concurrency/locking issue [#95935](https://github.com/grafana/grafana/pull/95935), [@mgyongyosi](https://github.com/mgyongyosi)
- **Service Accounts:** Run service account creation in transaction [#94803](https://github.com/grafana/grafana/pull/94803), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Table:** Fix text wrapping applying to wrong field [#95425](https://github.com/grafana/grafana/pull/95425), [@codeincarnate](https://github.com/codeincarnate)
- **Unified Storage:** Use ssl_mode instead of sslmode [#95662](https://github.com/grafana/grafana/pull/95662), [@chaudyg](https://github.com/chaudyg)
<!-- 11.3.1 END -->
<!-- 11.3.0+security-01 START -->
# 11.3.0+security-01 (2024-11-12)
### Bug fixes
- **MigrationAssistant:** Fix Migration Assistant issue [CVE-2024-9476]
<!-- 11.3.0+security-01 END -->
<!-- 11.3.0 START -->
# 11.3.0 (2024-10-22)
### Features and enhancements
- **Alerting:** Add manage permissions UI logic for Contact Points [#92885](https://github.com/grafana/grafana/pull/92885), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Allow linking to silence form with `__alert_rule_uid__` value preset [#93526](https://github.com/grafana/grafana/pull/93526), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Hide query name when using simplified mode in the alert rule [#93779](https://github.com/grafana/grafana/pull/93779), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Limit and clean up old alert rules versions [#89754](https://github.com/grafana/grafana/pull/89754), [@igloo12](https://github.com/igloo12)
- **Alerting:** Style nits for the simple query mode [#93930](https://github.com/grafana/grafana/pull/93930), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Update texts in annotations step [#93977](https://github.com/grafana/grafana/pull/93977), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Use useProduceNewAlertmanagerConfiguration for contact points [#88456](https://github.com/grafana/grafana/pull/88456), [@gillesdemey](https://github.com/gillesdemey)
- **Auth:** Attach external session info to Grafana session [#93849](https://github.com/grafana/grafana/pull/93849), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Replace jmespath/go-jmespath with jmespath-community/go-jmespath [#94203](https://github.com/grafana/grafana/pull/94203), [@mgyongyosi](https://github.com/mgyongyosi)
- **CloudMigrations:** Add support for migration of Library Elements (Panels) resources [#93898](https://github.com/grafana/grafana/pull/93898), [@macabu](https://github.com/macabu)
- **Cloudwatch:** Update grafana-aws-sdk [#94155](https://github.com/grafana/grafana/pull/94155), [@iwysiu](https://github.com/iwysiu)
- **Explore Logs:** Preinstall for onprem Grafana instances [#94221](https://github.com/grafana/grafana/pull/94221), [@svennergr](https://github.com/svennergr)
- **ExploreMetrics:** Ensure compatibility with Incremental Querying [#94355](https://github.com/grafana/grafana/pull/94355), [@NWRichmond](https://github.com/NWRichmond)
- **FieldConfig:** Add support for Actions [#92874](https://github.com/grafana/grafana/pull/92874), [@adela-almasan](https://github.com/adela-almasan)
- **Plugin Extensions:** Require meta-data to be defined in `plugin.json` during development mode [#93429](https://github.com/grafana/grafana/pull/93429), [@leventebalogh](https://github.com/leventebalogh)
- **Reporting:** Display template variables in the PDF (Enterprise)
- **Tempo:** Add deprecation notice for Aggregate By [#94050](https://github.com/grafana/grafana/pull/94050), [@joey-grafana](https://github.com/joey-grafana)
### Bug fixes
- **Alerting/Chore:** Fix TimeRangeInput not working across multiple months [#93622](https://github.com/grafana/grafana/pull/93622), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix default value for input in simple condition [#94248](https://github.com/grafana/grafana/pull/94248), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Fix eval interval not being saved when creating a new group [#93821](https://github.com/grafana/grafana/pull/93821), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] [#93940](https://github.com/grafana/grafana/pull/93940), [@alexweav](https://github.com/alexweav)
- **Alerting:** Fix panics when attempting to create an Alertmanager after failing [#94023](https://github.com/grafana/grafana/pull/94023), [@santihernandezc](https://github.com/santihernandezc)
- **DashboardScene:** Fixes url issue with subpath when exiting edit mode [#93962](https://github.com/grafana/grafana/pull/93962), [@torkelo](https://github.com/torkelo)
- **Dashboards:** Enable scenes by default [#93818](https://github.com/grafana/grafana/pull/93818), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Dashboards:** Fixes view & edit keyboard shortcuts when grafana is behind a subpath [#93955](https://github.com/grafana/grafana/pull/93955), [@torkelo](https://github.com/torkelo)
- **ElasticSearch:** Fix errorsource in newInstanceSettings [#93859](https://github.com/grafana/grafana/pull/93859), [@iwysiu](https://github.com/iwysiu)
- **Reporting:** Fix reports on multi-org instance (Enterprise)
- **SubMenu:** Fix expanding sub menu items on touch devices [#93208](https://github.com/grafana/grafana/pull/93208), [@yincongcyincong](https://github.com/yincongcyincong)
<!-- 11.3.0 END -->
<!-- 11.2.2 START -->
# 11.2.2 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93353](https://github.com/grafana/grafana/pull/93353), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
- **Data sources:** Hide the datasource redirection banner for users who can't interact with data sources [#93103](https://github.com/grafana/grafana/pull/93103), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
### Bug fixes
- **Alerting:** Fix preview of silences when label name contains spaces [#93051](https://github.com/grafana/grafana/pull/93051), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Make query wrapper match up datasource UIDs if necessary [#93114](https://github.com/grafana/grafana/pull/93114), [@tomratcliffe](https://github.com/tomratcliffe)
- **AzureMonitor:** Deduplicate resource picker rows [#93705](https://github.com/grafana/grafana/pull/93705), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Improve resource picker efficiency [#93440](https://github.com/grafana/grafana/pull/93440), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Remove Basic Logs retention warning [#93123](https://github.com/grafana/grafana/pull/93123), [@aangelisc](https://github.com/aangelisc)
- **CloudWatch:** Fix segfault when migrating legacy queries [#93544](https://github.com/grafana/grafana/pull/93544), [@iwysiu](https://github.com/iwysiu)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93676](https://github.com/grafana/grafana/pull/93676), [@ifrost](https://github.com/ifrost)
- **DashboardScene:** Fix broken error handling and error rendering [#93690](https://github.com/grafana/grafana/pull/93690), [@torkelo](https://github.com/torkelo)
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93488](https://github.com/grafana/grafana/pull/93488), [@wbrowne](https://github.com/wbrowne)
<!-- 11.2.2 END -->
<!-- 11.1.7 START -->
# 11.1.7 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93355](https://github.com/grafana/grafana/pull/93355), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **Alerting:** Fix preview of silences when label name contains spaces [#93050](https://github.com/grafana/grafana/pull/93050), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Make query wrapper match up datasource UIDs if necessary [#93115](https://github.com/grafana/grafana/pull/93115), [@tomratcliffe](https://github.com/tomratcliffe)
- **AzureMonitor:** Deduplicate resource picker rows [#93704](https://github.com/grafana/grafana/pull/93704), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Improve resource picker efficiency [#93439](https://github.com/grafana/grafana/pull/93439), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Remove Basic Logs retention warning [#93122](https://github.com/grafana/grafana/pull/93122), [@aangelisc](https://github.com/aangelisc)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93675](https://github.com/grafana/grafana/pull/93675), [@ifrost](https://github.com/ifrost)
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93487](https://github.com/grafana/grafana/pull/93487), [@wbrowne](https://github.com/wbrowne)
<!-- 11.1.7 END -->
<!-- 11.0.6 START -->
# 11.0.6 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93358](https://github.com/grafana/grafana/pull/93358), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **AzureMonitor:** Deduplicate resource picker rows [#93703](https://github.com/grafana/grafana/pull/93703), [@aangelisc](https://github.com/aangelisc)
- **AzureMonitor:** Improve resource picker efficiency [#93438](https://github.com/grafana/grafana/pull/93438), [@aangelisc](https://github.com/aangelisc)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93674](https://github.com/grafana/grafana/pull/93674), [@ifrost](https://github.com/ifrost)
- **Plugins:** Avoid returning 404 for `AutoEnabled` apps [#93486](https://github.com/grafana/grafana/pull/93486), [@wbrowne](https://github.com/wbrowne)
<!-- 11.0.6 END -->
<!-- 10.4.10 START -->
# 10.4.10 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93359](https://github.com/grafana/grafana/pull/93359), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **AzureMonitor:** Deduplicate resource picker rows [#93702](https://github.com/grafana/grafana/pull/93702), [@aangelisc](https://github.com/aangelisc)
- **Correlations:** Limit access to correlations page to users who can access Explore [#93673](https://github.com/grafana/grafana/pull/93673), [@ifrost](https://github.com/ifrost)
<!-- 10.4.10 END -->
<!-- 10.3.11 START -->
# 10.3.11 (2024-10-01)
### Features and enhancements
- **Chore:** Bump Go to 1.22.7 [#93360](https://github.com/grafana/grafana/pull/93360), [@hairyhenderson](https://github.com/hairyhenderson)
- **Chore:** Bump Go to 1.22.7 (Enterprise)
### Bug fixes
- **Correlations:** Limit access to correlations page to users who can access Explore [#93672](https://github.com/grafana/grafana/pull/93672), [@ifrost](https://github.com/ifrost)
<!-- 10.3.11 END -->
<!-- 11.2.1 START -->
# 11.2.1 (2024-09-26)
### Features and enhancements
- **Alerting:** Support for optimistic concurrency in priovisioning Tempate API [#92251](https://github.com/grafana/grafana/pull/92251), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Logs panel:** Enable displayedFields in dashboards and apps [#92675](https://github.com/grafana/grafana/pull/92675), [@matyax](https://github.com/matyax)
- **State timeline:** Add pagination support [#92257](https://github.com/grafana/grafana/pull/92257), [@kevinputera](https://github.com/kevinputera)
### Bug fixes
- **Authn:** No longer hash service account token twice during authentication [#92639](https://github.com/grafana/grafana/pull/92639), [@kalleep](https://github.com/kalleep)
- **CloudMigrations:** Fix snapshot creation on Windows systems [#92981](https://github.com/grafana/grafana/pull/92981), [@macabu](https://github.com/macabu)
- **DashGPT:** Fixes issue with generation on Safari [#92952](https://github.com/grafana/grafana/pull/92952), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboard:** Fix Annotation runtime error when a data source does not support annotations [#92830](https://github.com/grafana/grafana/pull/92830), [@axelavargas](https://github.com/axelavargas)
- **Grafana SQL:** Fix broken import in NumberInput component [#92808](https://github.com/grafana/grafana/pull/92808), [@chessman](https://github.com/chessman)
- **Logs:** Show older logs button when infinite scroll is enabled and sort order is descending [#92867](https://github.com/grafana/grafana/pull/92867), [@matyax](https://github.com/matyax)
- **RBAC:** Fix an issue with server admins not being able to manage users in orgs that they don't belong to [#92274](https://github.com/grafana/grafana/pull/92274), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **RBAC:** Fix an issue with server admins not being able to manage users in orgs that they don't belong to (Enterprise)
- **Reporting:** Disable dashboardSceneSolo when rendering PDFs the old way (Enterprise)
- **Templating:** Fix searching non-latin template variables [#92893](https://github.com/grafana/grafana/pull/92893), [@leeoniya](https://github.com/leeoniya)
- **TutorialCard:** Fix link to tutorial not opening [#92647](https://github.com/grafana/grafana/pull/92647), [@eledobleefe](https://github.com/eledobleefe)
- **Alerting:** Fixed CVE-2024-8118.
### Plugin development fixes & changes
- **AutoSizeInput:** Allow to be controlled by value [#92999](https://github.com/grafana/grafana/pull/92999), [@ivanortegaalba](https://github.com/ivanortegaalba)
<!-- 11.2.1 END -->
<!-- 11.1.6 START -->
# 11.1.6 (2024-09-26)
### Features and enhancements
- **Chore:** Update swagger ui (4.3.0 to 5.17.14) [#92341](https://github.com/grafana/grafana/pull/92341), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Templating:** Fix searching non-latin template variables [#92892](https://github.com/grafana/grafana/pull/92892), [@leeoniya](https://github.com/leeoniya)
- **TutorialCard:** Fix link to tutorial not opening [#92646](https://github.com/grafana/grafana/pull/92646), [@eledobleefe](https://github.com/eledobleefe)
### Plugin development fixes & changes
- **Bugfix:** QueryField typeahead missing background color [#92316](https://github.com/grafana/grafana/pull/92316), [@mckn](https://github.com/mckn)
- **Alerting:** Fixed CVE-2024-8118.
<!-- 11.1.6 END -->
<!-- 11.0.5 START -->
# 11.0.5 (2024-09-26)
### Features and enhancements
- **Chore:** Update swagger ui (4.3.0 to 5.17.14) [#92345](https://github.com/grafana/grafana/pull/92345), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Provisioning:** Prevent provisioning folder errors from failing startup [#92588](https://github.com/grafana/grafana/pull/92588), [@suntala](https://github.com/suntala)
- **TutorialCard:** Fix link to tutorial not opening [#92645](https://github.com/grafana/grafana/pull/92645), [@eledobleefe](https://github.com/eledobleefe)
- **Alerting:** Fixed CVE-2024-8118.
<!-- 11.0.5 END -->
<!-- 10.4.9 START -->
# 10.4.9 (2024-09-26)
### Features and enhancements
- **Chore:** Update swagger ui (4.3.0 to 5.17.14) [#92344](https://github.com/grafana/grafana/pull/92344), [@ryantxu](https://github.com/ryantxu)
### Bug fixes
- **Provisioning:** Prevent provisioning folder errors from failing startup [#92591](https://github.com/grafana/grafana/pull/92591), [@suntala](https://github.com/suntala)
- **Alerting:** Fixed CVE-2024-8118.
<!-- 10.4.9 END -->
<!-- 10.3.10 START -->
# 10.3.10 (2024-09-26)
### Bug fixes
- **Alerting:** Fixed CVE-2024-8118.
<!-- 10.3.10 END -->
<!-- 11.2.0 START -->
# 11.2.0 (2024-08-27)
### Features and enhancements
- **@grafana/data:** Introduce new getTagKeys/getTagValues response interface [#88369](https://github.com/grafana/grafana/pull/88369), [@kaydelaney](https://github.com/kaydelaney)
- **AWS:** Update deprecated aws-sdk functions from env variable versions [#89643](https://github.com/grafana/grafana/pull/89643), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Add ha_reconnect_timeout configuration option [#88823](https://github.com/grafana/grafana/pull/88823), [@JacobValdemar](https://github.com/JacobValdemar)
- **Alerting:** Add setting for maximum allowed rule evaluation results [#89468](https://github.com/grafana/grafana/pull/89468), [@alexander-akhmetov](https://github.com/alexander-akhmetov)
- **Alerting:** Add warning in telegram contact point [#89397](https://github.com/grafana/grafana/pull/89397), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Central alert history part4 [#90088](https://github.com/grafana/grafana/pull/90088), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Don't crash the page when trying to filter rules by regex [#89466](https://github.com/grafana/grafana/pull/89466), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Enable remote primary mode using feature toggles [#88976](https://github.com/grafana/grafana/pull/88976), [@santihernandezc](https://github.com/santihernandezc)
- **Alerting:** Hide edit/view rule buttons according to deleting/creating state [#90375](https://github.com/grafana/grafana/pull/90375), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Implement UI for grafana-managed recording rules [#90360](https://github.com/grafana/grafana/pull/90360), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Improve performance of /api/prometheus for large numbers of alerts. [#89268](https://github.com/grafana/grafana/pull/89268), [@stevesg](https://github.com/stevesg)
- **Alerting:** Include a list of ref_Id and aggregated datasource UIDs to alerts when state reason is NoData [#88819](https://github.com/grafana/grafana/pull/88819), [@wasim-nihal](https://github.com/wasim-nihal)
- **Alerting:** Instrument outbound requests for Loki Historian and Remote Alertmanager with tracing [#89185](https://github.com/grafana/grafana/pull/89185), [@alexweav](https://github.com/alexweav)
- **Alerting:** Limit instances on alert detail view unless in instances tab [#89368](https://github.com/grafana/grafana/pull/89368), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Make alert group editing safer [#88627](https://github.com/grafana/grafana/pull/88627), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Make whitespace more visible on labels [#90223](https://github.com/grafana/grafana/pull/90223), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Remove option to return settings from api/v1/receivers and restrict provisioning action access [#90861](https://github.com/grafana/grafana/pull/90861), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Resend resolved notifications for ResolvedRetention duration [#88938](https://github.com/grafana/grafana/pull/88938), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Show Insights page only on cloud (when required ds's are available) [#89679](https://github.com/grafana/grafana/pull/89679), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Show repeat interval in timing options meta [#89414](https://github.com/grafana/grafana/pull/89414), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Support median in reduce expressions [#91119](https://github.com/grafana/grafana/pull/91119), [@alexander-akhmetov](https://github.com/alexander-akhmetov)
- **Alerting:** Track central ash interactions [#90330](https://github.com/grafana/grafana/pull/90330), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Update alerting state history API to authorize access using RBAC [#89579](https://github.com/grafana/grafana/pull/89579), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Update warning message for Telegram parse_mode and default to empty value [#89630](https://github.com/grafana/grafana/pull/89630), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Use Runbook URL label everywhere and add validation in the alert rule… [#90523](https://github.com/grafana/grafana/pull/90523), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Use cloud notifier types for metadata on Cloud AMs [#91054](https://github.com/grafana/grafana/pull/91054), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Use stable identifier of a group when export to HCL [#90196](https://github.com/grafana/grafana/pull/90196), [@KyriosGN0](https://github.com/KyriosGN0)
- **Alerting:** Use stable identifier of a group,contact point,mute timing when export to HCL [#90917](https://github.com/grafana/grafana/pull/90917), [@KyriosGN0](https://github.com/KyriosGN0)
- **Alertmanager:** Support limits for silences [#90826](https://github.com/grafana/grafana/pull/90826), [@santihernandezc](https://github.com/santihernandezc)
- **Angular deprecation:** Disable dynamic angular inspector if CheckForPluginUpdates is false [#91194](https://github.com/grafana/grafana/pull/91194), [@xnyo](https://github.com/xnyo)
- **App events:** Add "info" variant [#89903](https://github.com/grafana/grafana/pull/89903), [@Clarity-89](https://github.com/Clarity-89)
- **Auth:** Add org to role mappings support to AzureAD/Entra integration [#88861](https://github.com/grafana/grafana/pull/88861), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Add organization mapping configuration to the UI [#90003](https://github.com/grafana/grafana/pull/90003), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Add support for escaping colon characters in org_mapping [#89951](https://github.com/grafana/grafana/pull/89951), [@mgyongyosi](https://github.com/mgyongyosi)
- **Azure:** Add new Azure infrastructure dashboards [#88869](https://github.com/grafana/grafana/pull/88869), [@yves-chan](https://github.com/yves-chan)
- **BrowseDashboards:** Update results when starred param changes [#89944](https://github.com/grafana/grafana/pull/89944), [@Clarity-89](https://github.com/Clarity-89)
- **Caching:** Handle memcached reconnects [#91498](https://github.com/grafana/grafana/pull/91498), [@mmandrus](https://github.com/mmandrus)
- **Calendar:** Add labels for next/previous month [#89019](https://github.com/grafana/grafana/pull/89019), [@ashharrison90](https://github.com/ashharrison90)
- **Canvas:** Element level data links [#89079](https://github.com/grafana/grafana/pull/89079), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Improved tooltip [#90162](https://github.com/grafana/grafana/pull/90162), [@adela-almasan](https://github.com/adela-almasan)
- **Canvas:** Support template variables in base URL of actions [#91227](https://github.com/grafana/grafana/pull/91227), [@nmarrs](https://github.com/nmarrs)
- **Chore:** Add missing build elements to Dockerfile [#89714](https://github.com/grafana/grafana/pull/89714), [@azilly-de](https://github.com/azilly-de)
- **Chore:** Add unit test for cloudmigration package [#88868](https://github.com/grafana/grafana/pull/88868), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **Chore:** Commit results of bingo get [#90256](https://github.com/grafana/grafana/pull/90256), [@mmandrus](https://github.com/mmandrus)
- **CloudMigrations:** Change onPremToCloudMigrations feature toggle to public preview [#90757](https://github.com/grafana/grafana/pull/90757), [@mmandrus](https://github.com/mmandrus)
- **CloudWatch:** Add errorsource for QueryData [#91085](https://github.com/grafana/grafana/pull/91085), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Update grafana-aws-sdk for updated metrics [#91364](https://github.com/grafana/grafana/pull/91364), [@iwysiu](https://github.com/iwysiu)
- **Cloudwatch:** Clear cached PDC transport when PDC is disabled [#91357](https://github.com/grafana/grafana/pull/91357), [@njvrzm](https://github.com/njvrzm)
- **Cloudwatch:** Metrics Query Builder should clear old query [#88950](https://github.com/grafana/grafana/pull/88950), [@iwysiu](https://github.com/iwysiu)
- **Cloudwatch:** Remove awsDatasourcesNewFormStyling feature toggle [#90128](https://github.com/grafana/grafana/pull/90128), [@idastambuk](https://github.com/idastambuk)
- **Cloudwatch:** Rename Metric Query to Metric Insights [#89955](https://github.com/grafana/grafana/pull/89955), [@idastambuk](https://github.com/idastambuk)
- **Cloudwatch:** Round up endTime in GetMetricData to next minute [#89341](https://github.com/grafana/grafana/pull/89341), [@idastambuk](https://github.com/idastambuk)
- **Dashboard:** Use preferred timezone on create [#89833](https://github.com/grafana/grafana/pull/89833), [@Clarity-89](https://github.com/Clarity-89)
- **Datalinks:** UX improvements [#91352](https://github.com/grafana/grafana/pull/91352), [@adela-almasan](https://github.com/adela-almasan)
- **DateTimePicker:** Add "timeZone" prop [#90031](https://github.com/grafana/grafana/pull/90031), [@Clarity-89](https://github.com/Clarity-89)
- **Dynatrace:** Add to list of DS with custom label logic [#90258](https://github.com/grafana/grafana/pull/90258), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Elasticsearch:** Decouple backend from infra/http [#90408](https://github.com/grafana/grafana/pull/90408), [@njvrzm](https://github.com/njvrzm)
- **Elasticsearch:** Decouple backend from infra/log [#90527](https://github.com/grafana/grafana/pull/90527), [@njvrzm](https://github.com/njvrzm)
- **Elasticsearch:** Decouple backend from infra/tracing [#90528](https://github.com/grafana/grafana/pull/90528), [@njvrzm](https://github.com/njvrzm)
- **Explore:** Add setting for default time offset [#90401](https://github.com/grafana/grafana/pull/90401), [@gelicia](https://github.com/gelicia)
- **Feat:** Extending report interaction with static context that can be appended to all interaction events [#88927](https://github.com/grafana/grafana/pull/88927), [@tolzhabayev](https://github.com/tolzhabayev)
- **Feature management:** Add openSearchBackendFlowEnabled feature toggle [#89208](https://github.com/grafana/grafana/pull/89208), [@idastambuk](https://github.com/idastambuk)
- **Features:** Add cloudwatchMetricInsightsCrossAccount feature toggle [#89848](https://github.com/grafana/grafana/pull/89848), [@idastambuk](https://github.com/idastambuk)
- **Features:** Release Cloudwatch Metric Insights cross-account querying to public preview [#91066](https://github.com/grafana/grafana/pull/91066), [@idastambuk](https://github.com/idastambuk)
- **FlameGraph:** Remove flameGraphItemCollapsing feature toggle [#90190](https://github.com/grafana/grafana/pull/90190), [@joey-grafana](https://github.com/joey-grafana)
- **GCP:** Update GKE monitoring dashboard [#90091](https://github.com/grafana/grafana/pull/90091), [@aangelisc](https://github.com/aangelisc)
- **GOps:** Add Grafana SLO steps to IRM configuration tracker [#88098](https://github.com/grafana/grafana/pull/88098), [@obetomuniz](https://github.com/obetomuniz)
- **Grafana:** Enables use of encrypted certificates with password for https [#91418](https://github.com/grafana/grafana/pull/91418), [@leandro-deveikis](https://github.com/leandro-deveikis)
- **IDToken:** Add current user's DisplayName to the ID token [#90992](https://github.com/grafana/grafana/pull/90992), [@colin-stuart](https://github.com/colin-stuart)
- **IDToken:** Add current user's Username and UID to the ID token [#90240](https://github.com/grafana/grafana/pull/90240), [@mgyongyosi](https://github.com/mgyongyosi)
- **Keybinds:** Allow move time range shortcuts (t left / t right) to be chained [#88904](https://github.com/grafana/grafana/pull/88904), [@joshhunt](https://github.com/joshhunt)
- **LibraryPanels:** Use new folder picker when creating a library panel [#89228](https://github.com/grafana/grafana/pull/89228), [@joshhunt](https://github.com/joshhunt)
- **Log:** Added panel support for filtering callbacks [#88980](https://github.com/grafana/grafana/pull/88980), [@matyax](https://github.com/matyax)
- **Logs:** Add log line to content outline when clicking on datalinks [#90207](https://github.com/grafana/grafana/pull/90207), [@gtk-grafana](https://github.com/gtk-grafana)
- **Loki:** Add option to issue forward queries [#91181](https://github.com/grafana/grafana/pull/91181), [@svennergr](https://github.com/svennergr)
- **Loki:** Added support for negative numbers in LogQL [#88719](https://github.com/grafana/grafana/pull/88719), [@matyax](https://github.com/matyax)
- **Loki:** Also replace `step` with vars [#91031](https://github.com/grafana/grafana/pull/91031), [@svennergr](https://github.com/svennergr)
- **Loki:** Remove `instant` query type from Log queries [#90137](https://github.com/grafana/grafana/pull/90137), [@svennergr](https://github.com/svennergr)
- **Loki:** Respect pre-selected filters in adhoc filter queries [#89022](https://github.com/grafana/grafana/pull/89022), [@ivanahuckova](https://github.com/ivanahuckova)
- **MSSQL:** Password auth for Azure AD [#89746](https://github.com/grafana/grafana/pull/89746), [@bossinc](https://github.com/bossinc)
- **Metrics:** Add ability to disable classic histogram for HTTP metric [#88315](https://github.com/grafana/grafana/pull/88315), [@hairyhenderson](https://github.com/hairyhenderson)
- **Nav:** Add items to saved [#89908](https://github.com/grafana/grafana/pull/89908), [@Clarity-89](https://github.com/Clarity-89)
- **OpenAPI:** Document the `/api/health` endpoint [#88203](https://github.com/grafana/grafana/pull/88203), [@julienduchesne](https://github.com/julienduchesne)
- **PanelChrome:** Use labelledby for accessible title [#88781](https://github.com/grafana/grafana/pull/88781), [@tskarhed](https://github.com/tskarhed)
- **Plugins:** Add filters by update available [#91526](https://github.com/grafana/grafana/pull/91526), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Add logs to for plugin management actions [#90587](https://github.com/grafana/grafana/pull/90587), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Disable install controls for provisioned plugin in cloud [#90479](https://github.com/grafana/grafana/pull/90479), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Expose functions to plugins for checking RBAC permissions [#89047](https://github.com/grafana/grafana/pull/89047), [@jackw](https://github.com/jackw)
- **Plugins:** Improve levitate / breaking changes report in grafana/grafana [#89822](https://github.com/grafana/grafana/pull/89822), [@oshirohugo](https://github.com/oshirohugo)
- **Plugins:** Support > 1 levels of plugin dependencies [#90174](https://github.com/grafana/grafana/pull/90174), [@wbrowne](https://github.com/wbrowne)
- **Plugins:** Update CLI check if plugin is already installed [#91213](https://github.com/grafana/grafana/pull/91213), [@wbrowne](https://github.com/wbrowne)
- **Prometheus:** Deprecation message for SigV4 in core Prom [#90250](https://github.com/grafana/grafana/pull/90250), [@bohandley](https://github.com/bohandley)
- **Prometheus:** Reintroduce Azure audience override feature flag [#90339](https://github.com/grafana/grafana/pull/90339), [@aangelisc](https://github.com/aangelisc)
- **RBAC:** Allow plugins to use scoped actions [#90946](https://github.com/grafana/grafana/pull/90946), [@gamab](https://github.com/gamab)
- **RBAC:** Default to plugins.app:access for plugin includes [#90969](https://github.com/grafana/grafana/pull/90969), [@gamab](https://github.com/gamab)
- **Restore dashboards:** Add RBAC [#90270](https://github.com/grafana/grafana/pull/90270), [@Clarity-89](https://github.com/Clarity-89)
- **Revert:** Calcs: Update diff percent to be a percent [#91563](https://github.com/grafana/grafana/pull/91563), [@Develer](https://github.com/Develer)
- **SAML:** Add button to generate a certificate and private key (Enterprise)
- **SSO:** Make SAML certificate/private key optional (Enterprise)
- **SearchV2:** Support soft deletion [#90217](https://github.com/grafana/grafana/pull/90217), [@ryantxu](https://github.com/ryantxu)
- **Select:** Add orange indicator to selected item [#88695](https://github.com/grafana/grafana/pull/88695), [@tskarhed](https://github.com/tskarhed)
- **Snapshots:** Remove deprecated option snapshot_remove_expired [#91231](https://github.com/grafana/grafana/pull/91231), [@ryantxu](https://github.com/ryantxu)
- **Table panel:** Add alt and title text options to image cell type [#89930](https://github.com/grafana/grafana/pull/89930), [@codeincarnate](https://github.com/codeincarnate)
- **Tempo:** Add toggle for streaming [#88685](https://github.com/grafana/grafana/pull/88685), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Tempo:** Remove kind=server from metrics summary [#89419](https://github.com/grafana/grafana/pull/89419), [@joey-grafana](https://github.com/joey-grafana)
- **Tempo:** Run `go get` [#89335](https://github.com/grafana/grafana/pull/89335), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Tempo:** TraceQL metrics step option [#89434](https://github.com/grafana/grafana/pull/89434), [@adrapereira](https://github.com/adrapereira)
- **Tempo:** Virtualize tags select to improve performance [#90269](https://github.com/grafana/grafana/pull/90269), [@adrapereira](https://github.com/adrapereira)
- **Tempo:** Virtualized search dropdowns for attribute values [#88569](https://github.com/grafana/grafana/pull/88569), [@RonanQuigley](https://github.com/RonanQuigley)
- **TimePicker:** Improve screen reader support [#89409](https://github.com/grafana/grafana/pull/89409), [@tskarhed](https://github.com/tskarhed)
- **TimeRangePicker:** Add weekStart prop [#89650](https://github.com/grafana/grafana/pull/89650), [@Clarity-89](https://github.com/Clarity-89)
- **TimeRangePicker:** Use week start [#89765](https://github.com/grafana/grafana/pull/89765), [@Clarity-89](https://github.com/Clarity-89)
- **Tooltip:** Add tooltip support to Histogram [#89196](https://github.com/grafana/grafana/pull/89196), [@adela-almasan](https://github.com/adela-almasan)
- **Trace View:** Add Session for this span button [#89656](https://github.com/grafana/grafana/pull/89656), [@javiruiz01](https://github.com/javiruiz01)
- **Tracing:** Add regex support for span filters [#89885](https://github.com/grafana/grafana/pull/89885), [@ektasorathia](https://github.com/ektasorathia)
- **Transformations:** Add variable support to select groupingToMatrix [#88551](https://github.com/grafana/grafana/pull/88551), [@kazeborja](https://github.com/kazeborja)
- **Transformations:** Move transformation variables to general availability [#89111](https://github.com/grafana/grafana/pull/89111), [@samjewell](https://github.com/samjewell)
- **Transformations:** Promote add field from calc stat function cumulative and window calcs as generally available [#91160](https://github.com/grafana/grafana/pull/91160), [@nmarrs](https://github.com/nmarrs)
- **Transformations:** Promote format string as generally available [#91161](https://github.com/grafana/grafana/pull/91161), [@nmarrs](https://github.com/nmarrs)
- **Transformations:** Promote group to nested table as generally available [#90253](https://github.com/grafana/grafana/pull/90253), [@nmarrs](https://github.com/nmarrs)
- **Users:** Add config option to control how often last_seen is updated [#88721](https://github.com/grafana/grafana/pull/88721), [@parambath92](https://github.com/parambath92)
- **XYChart:** Promote to generally available [#91417](https://github.com/grafana/grafana/pull/91417), [@nmarrs](https://github.com/nmarrs)
### Bug fixes
- **Admin:** Fixes logic for enabled a user [#88117](https://github.com/grafana/grafana/pull/88117), [@gonvee](https://github.com/gonvee)
- **Alerting:** Add validation for path separators in the rule group edit modal [#90887](https://github.com/grafana/grafana/pull/90887), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Allow future relative time [#89405](https://github.com/grafana/grafana/pull/89405), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Disable simplified routing when internal alert manager is disabled [#90648](https://github.com/grafana/grafana/pull/90648), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Do not check evaluation interval for external rulers [#89354](https://github.com/grafana/grafana/pull/89354), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Do not count rule health for totals [#89349](https://github.com/grafana/grafana/pull/89349), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix Recording Rules creation issues [#90362](https://github.com/grafana/grafana/pull/90362), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix contact point export 500 error and notifications/receivers missing settings [#90342](https://github.com/grafana/grafana/pull/90342), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Fix permissions for prometheus rule endpoints [#91409](https://github.com/grafana/grafana/pull/91409), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix persisting result fingerprint that is used by recovery threshold [#91224](https://github.com/grafana/grafana/pull/91224), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison [#88992](https://github.com/grafana/grafana/pull/88992), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix saving telegram contact point to Cloud AM config [#89182](https://github.com/grafana/grafana/pull/89182), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix setting of existing Telegram Chat ID value [#89287](https://github.com/grafana/grafana/pull/89287), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix silencing from policy instances [#90417](https://github.com/grafana/grafana/pull/90417), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Fix some status codes returned from provisioning API. [#90117](https://github.com/grafana/grafana/pull/90117), [@stevesg](https://github.com/stevesg)
- **Alerting:** Fix stale values associated with states that have gone to NoData, unify values calculation [#89807](https://github.com/grafana/grafana/pull/89807), [@alexweav](https://github.com/alexweav)
- **Alerting:** Refactor PromQL-style matcher parsing [#90129](https://github.com/grafana/grafana/pull/90129), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Skip fetching alerts for unsaved dashboards [#90061](https://github.com/grafana/grafana/pull/90061), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Skip loading alert rules for dashboards when disabled [#89361](https://github.com/grafana/grafana/pull/89361), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Support `utf8_strict_mode: false` in Mimir [#90092](https://github.com/grafana/grafana/pull/90092), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Time interval Delete API to check for usages in alert rules [#90500](https://github.com/grafana/grafana/pull/90500), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Analytics:** Fix ApplicationInsights integration [#89299](https://github.com/grafana/grafana/pull/89299), [@ashharrison90](https://github.com/ashharrison90)
- **Azure Monitor:** Add validation for namespace field in AdvancedResourcePicker when entering a forward slash [#89288](https://github.com/grafana/grafana/pull/89288), [@adamyeats](https://github.com/adamyeats)
- **AzureMonitor:** Fix out of bounds error when accessing `metricNamespaceArray` and `resourceNameArray` in `buildResourceURI` [#89222](https://github.com/grafana/grafana/pull/89222), [@adamyeats](https://github.com/adamyeats)
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions [#89109](https://github.com/grafana/grafana/pull/89109), [@joshhunt](https://github.com/joshhunt)
- **CloudWatch:** Fix labels for raw metric search queries [#88943](https://github.com/grafana/grafana/pull/88943), [@iwysiu](https://github.com/iwysiu)
- **CloudWatch:** Fix raw queries with dimensions set [#90348](https://github.com/grafana/grafana/pull/90348), [@iwysiu](https://github.com/iwysiu)
- **Correlations:** Fix wrong target data source name in the form [#90340](https://github.com/grafana/grafana/pull/90340), [@aocenas](https://github.com/aocenas)
- **DashboardScene:** Fixes issue removing override rule [#89124](https://github.com/grafana/grafana/pull/89124), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes lack of re-render when updating field override properties [#88796](https://github.com/grafana/grafana/pull/88796), [@torkelo](https://github.com/torkelo)
- **DataSourcePicker:** Create new data source does not work for subpath [#90536](https://github.com/grafana/grafana/pull/90536), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Docs:** Add fixed role UUIDs to docs for terraform provisioning [#89457](https://github.com/grafana/grafana/pull/89457), [@Jguer](https://github.com/Jguer)
- **Echo:** Suppress errors from frontend-metrics API call failing [#89379](https://github.com/grafana/grafana/pull/89379), [@joshhunt](https://github.com/joshhunt)
- **Explore Metrics:** Implement grouping with metric prefixes [#89481](https://github.com/grafana/grafana/pull/89481), [@itsmylife](https://github.com/itsmylife)
- **Fix:** Portuguese Brazilian wasn't loading translations [#89302](https://github.com/grafana/grafana/pull/89302), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Folders:** Fix folder pagination for cloud instances with many folders [#90008](https://github.com/grafana/grafana/pull/90008), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Folders:** Improve folder move permission checks [#90588](https://github.com/grafana/grafana/pull/90588), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **InfluxDB:** Fix query builder produces invalid SQL query when using wildcard column name [#89032](https://github.com/grafana/grafana/pull/89032), [@wasim-nihal](https://github.com/wasim-nihal)
- **Inspect:** Include only BOM char for excel files [#88994](https://github.com/grafana/grafana/pull/88994), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **Jaeger:** Fix calling of search query with the correct time range [#90320](https://github.com/grafana/grafana/pull/90320), [@EgorKluch](https://github.com/EgorKluch)
- **Metrics:** Fix internal metrics endpoint not accessible from browser if basic auth is enabled [#86904](https://github.com/grafana/grafana/pull/86904), [@wasim-nihal](https://github.com/wasim-nihal)
- **Notifications:** Redact URL from errors [#85687](https://github.com/grafana/grafana/pull/85687), [@alexweav](https://github.com/alexweav)
- **PDF:** Fix layout for page-size panel after row (Enterprise)
- **Panel:** Fix text aliasing bug when panel is loading [#89538](https://github.com/grafana/grafana/pull/89538), [@ashharrison90](https://github.com/ashharrison90)
- **Plugin extensions:** Return react components from `usePluginComponents()` [#89237](https://github.com/grafana/grafana/pull/89237), [@leventebalogh](https://github.com/leventebalogh)
- **Plugins:** Ensure grafana cli can install multiple plugin dependencies [#91230](https://github.com/grafana/grafana/pull/91230), [@yincongcyincong](https://github.com/yincongcyincong)
- **Prometheus:** Fix interpolating adhoc filters with template variables [#88626](https://github.com/grafana/grafana/pull/88626), [@cazeaux](https://github.com/cazeaux)
- **Prometheus:** Fix query builder visualization when a query has by() clause for quantile [#88480](https://github.com/grafana/grafana/pull/88480), [@yuri-rs](https://github.com/yuri-rs)
- **QueryEditor:** Break with Scenes because the default query is not empty string [#90583](https://github.com/grafana/grafana/pull/90583), [@ivanortegaalba](https://github.com/ivanortegaalba)
- **RBAC:** Fix seeder failures when inserting duplicated permissions (Enterprise)
- **RBAC:** List only the folders that the user has access to [#88599](https://github.com/grafana/grafana/pull/88599), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Scenes/Dashboards:** Fix issue where changes in panel height weren't saved [#91125](https://github.com/grafana/grafana/pull/91125), [@kaydelaney](https://github.com/kaydelaney)
- **Scenes:** Fixes issue with panel repeat height calculation [#90221](https://github.com/grafana/grafana/pull/90221), [@kaydelaney](https://github.com/kaydelaney)
- **Scenes:** Implement 't a' shortcut [#89619](https://github.com/grafana/grafana/pull/89619), [@kaydelaney](https://github.com/kaydelaney)
- **Table Panel:** Fix Image hover without datalinks [#89751](https://github.com/grafana/grafana/pull/89751), [@codeincarnate](https://github.com/codeincarnate)
- **Table component:** Fix sub-table rows not displaying correctly [#89082](https://github.com/grafana/grafana/pull/89082), [@codeincarnate](https://github.com/codeincarnate)
- **Tempo:** Fix grpc streaming support over pdc-agent [#89883](https://github.com/grafana/grafana/pull/89883), [@taylor-s-dean](https://github.com/taylor-s-dean)
- **Tempo:** Fix query history [#89991](https://github.com/grafana/grafana/pull/89991), [@joey-grafana](https://github.com/joey-grafana)
### Breaking changes
- **Folders:** Allow folder editors and admins to create subfolders without any additional permissions [#91215](https://github.com/grafana/grafana/pull/91215), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
### Plugin development fixes & changes
- **Runtime:** Add provider and access hook for location service [#90759](https://github.com/grafana/grafana/pull/90759), [@aocenas](https://github.com/aocenas)
<!-- 11.2.0 END -->
<!-- 11.1.5 START -->
# 11.1.5 (2024-08-27)
### Bug fixes
- **Alerting:** Fix permissions for prometheus rule endpoints [#91414](https://github.com/grafana/grafana/pull/91414), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix persisting result fingerprint that is used by recovery threshold [#91290](https://github.com/grafana/grafana/pull/91290), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auditing:** Fix a possible crash when audit logger parses responses for failed requests (Enterprise)
- **RBAC:** Fix an issue with server admins not being able to manage users in orgs that they don't belong to [#92273](https://github.com/grafana/grafana/pull/92273), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **RBAC:** Fix an issue with server admins not being able to manage users in orgs that they dont belong to (Enterprise)
- **RBAC:** Fix seeder failures when inserting duplicated permissions (Enterprise)
- **Snapshots:** Fix panic when snapshot_remove_expired is true [#91232](https://github.com/grafana/grafana/pull/91232), [@ryantxu](https://github.com/ryantxu)
- **VizTooltip:** Fix positioning at bottom and right edges on mobile [#92137](https://github.com/grafana/grafana/pull/92137), [@leeoniya](https://github.com/leeoniya)
### Plugin development fixes & changes
- **Bugfix:** QueryField typeahead missing background color [#92316](https://github.com/grafana/grafana/pull/92316), [@mckn](https://github.com/mckn)
<!-- 11.1.5 END -->
<!-- 11.0.4 START -->
# 11.0.4 (2024-08-27)
### Bug fixes
- **Alerting:** Fix persisting result fingerprint that is used by recovery threshold [#91328](https://github.com/grafana/grafana/pull/91328), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auditing:** Fix a possible crash when audit logger parses responses for failed requests (Enterprise)
- **RBAC:** Fix seeder failures when inserting duplicated permissions (Enterprise)
- **Snapshots:** Fix panic when snapshot_remove_expired is true [#91330](https://github.com/grafana/grafana/pull/91330), [@ryantxu](https://github.com/ryantxu)
<!-- 11.0.4 END -->
<!-- 10.4.8 START -->
# 10.4.8 (2024-08-27)
### Bug fixes
- **Alerting:** Fix persisting result fingerprint that is used by recovery threshold [#91331](https://github.com/grafana/grafana/pull/91331), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auditing:** Fix a possible crash when audit logger parses responses for failed requests (Enterprise)
- **RBAC:** Fix seeder failures when inserting duplicated permissions (Enterprise)
- **Snapshots:** Fix panic when snapshot_remove_expired is true [#91329](https://github.com/grafana/grafana/pull/91329), [@ryantxu](https://github.com/ryantxu)
<!-- 10.4.8 END -->
<!-- 10.3.9 START -->
# 10.3.9 (2024-08-27)
<!-- 10.3.9 END -->
<!-- 11.1.4 START -->
# 11.1.4 (2024-08-14)
### Bug fixes
- **Swagger:** Fixed CVE-2024-6837.
<!-- 11.1.4 END -->
<!-- 11.0.3 START -->
# 11.0.3 (2024-08-14)
### Bug fixes
- **Swagger:** Fixed CVE-2024-6837.
<!-- 11.0.3 END -->
<!-- 10.4.7 START -->
# 10.4.7 (2024-08-14)
### Bug fixes
- **Swagger:** Fixed CVE-2024-6837.
<!-- 10.4.7 END -->
<!-- 11.1.3 START -->
# 11.1.3 (2024-07-26)
### Bug fixes
- **RBAC**: Allow plugins to use scoped actions [#90946](https://github.com/grafana/grafana/pull/90946), [@gamab](https://github.com/gamab)
<!-- 11.1.3 END -->
<!-- 11.0.2 START -->
# 11.0.2 (2024-07-25)
### Features and enhancements
- **Alerting:** Update grafana/alerting to c340765c985a12603bbdfcd10576ddfdbf9dc284 [#90388](https://github.com/grafana/grafana/pull/90388), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Prometheus:** Reintroduce Azure audience override feature flag [#90558](https://github.com/grafana/grafana/pull/90558), [@aangelisc](https://github.com/aangelisc)
### Bug fixes
- **Alerting:** Skip loading alert rules for dashboards when disabled [#89904](https://github.com/grafana/grafana/pull/89904), [@gillesdemey](https://github.com/gillesdemey)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Folders:** Improve folder move permission checks [#90849](https://github.com/grafana/grafana/pull/90849), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
<!-- 11.0.2 END -->
<!-- 10.4.6 START -->
# 10.4.6 (2024-07-25)
### Features and enhancements
- **Alerting:** Update grafana/alerting to ce0d024b67ea714b06d0f5309025466f50e381ef [#90389](https://github.com/grafana/grafana/pull/90389), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Prometheus:** Reintroduce Azure audience override feature flag [#90557](https://github.com/grafana/grafana/pull/90557), [@aangelisc](https://github.com/aangelisc)
### Bug fixes
- **Alerting:** Fix panic in provisioning filter contacts by unknown name [#90440](https://github.com/grafana/grafana/pull/90440), [@JacobsonMT](https://github.com/JacobsonMT)
- **Alerting:** Skip loading alert rules for dashboards when disabled [v10.4.x] [#90331](https://github.com/grafana/grafana/pull/90331), [@gillesdemey](https://github.com/gillesdemey)
- **Echo:** Suppress errors from frontend-metrics API call failing [#89498](https://github.com/grafana/grafana/pull/89498), [@joshhunt](https://github.com/joshhunt)
<!-- 10.4.6 END -->
<!-- 11.1.1 START -->
# 11.1.1 (2024-07-25)
### Bug fixes
- **Alerting:** Skip fetching alerts for unsaved dashboards [#90074](https://github.com/grafana/grafana/pull/90074), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Skip loading alert rules for dashboards when disabled [#89905](https://github.com/grafana/grafana/pull/89905), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Support `utf8_strict_mode: false` in Mimir [#90148](https://github.com/grafana/grafana/pull/90148), [@gillesdemey](https://github.com/gillesdemey)
- **Scenes:** Fixes issue with panel repeat height calculation [#90232](https://github.com/grafana/grafana/pull/90232), [@kaydelaney](https://github.com/kaydelaney)
- **Table Panel:** Fix Image hover without datalinks [#89922](https://github.com/grafana/grafana/pull/89922), [@codeincarnate](https://github.com/codeincarnate)
- **Tempo:** Fix grpc streaming support over pdc-agent [#90055](https://github.com/grafana/grafana/pull/90055), [@taylor-s-dean](https://github.com/taylor-s-dean)
- **RBAC**: Allow plugins to use scoped actions [#90946](https://github.com/grafana/grafana/pull/90946), [@gamab](https://github.com/gamab)
<!-- 11.1.1 END -->
<!-- 11.1.0 START -->
# 11.1.0 (2024-06-21)
### Features and enhancements
- **Tracing:** Enable traces to profiles. [#88896](https://github.com/grafana/grafana/issues/88896), [@marefr](https://github.com/marefr)
- **Auth:** Add org to role mappings support to Google integration. [#88891](https://github.com/grafana/grafana/issues/88891), [@kalleep](https://github.com/kalleep)
- **Alerting:** Support AWS SNS integration in Grafana. [#88867](https://github.com/grafana/grafana/issues/88867), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Auth:** Add org to role mappings support to Okta integration. [#88770](https://github.com/grafana/grafana/issues/88770), [@mgyongyosi](https://github.com/mgyongyosi)
- **Auth:** Add org to role mappings support to Gitlab integration. [#88751](https://github.com/grafana/grafana/issues/88751), [@kalleep](https://github.com/kalleep)
- **Cloudwatch:** Use the metric map from grafana-aws-sdk. [#88733](https://github.com/grafana/grafana/issues/88733), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Add option to use Redis in cluster mode for Alerting HA. [#88696](https://github.com/grafana/grafana/issues/88696), [@fayzal-g](https://github.com/fayzal-g)
- **VizTooltip:** Allow setting the `maxWidth` option. [#88652](https://github.com/grafana/grafana/issues/88652), [@adela-almasan](https://github.com/adela-almasan)
- **Auth:** Add org to role mappings support to GitHub integration . [#88537](https://github.com/grafana/grafana/issues/88537), [@mgyongyosi](https://github.com/mgyongyosi)
- **CloudWatch:** Handle permissions error and update docs. [#88524](https://github.com/grafana/grafana/issues/88524), [@iwysiu](https://github.com/iwysiu)
- ** Alerting:** Correctly handle duplicating notification templates. [#88487](https://github.com/grafana/grafana/issues/88487), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Mute Timing service to prevent changing provenance status to none. [#88462](https://github.com/grafana/grafana/issues/88462), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Ensure we fetch AM config before saving new configuration. [#88458](https://github.com/grafana/grafana/issues/88458), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Remove regex reference in silences filter tooltip. [#88455](https://github.com/grafana/grafana/issues/88455), [@tomratcliffe](https://github.com/tomratcliffe)
- **Cloudwatch:** Update AWS DynamoDB Metrics. [#88418](https://github.com/grafana/grafana/issues/88418), [@LeonardoBoleli](https://github.com/LeonardoBoleli)
- **Alerting:** Make regex notification routing preview consistent with notification policies implementation. [#88413](https://github.com/grafana/grafana/issues/88413), [@tomratcliffe](https://github.com/tomratcliffe)
- **DateTimePicker:** Return cleared value in onChange. [#88377](https://github.com/grafana/grafana/issues/88377), [@Clarity-89](https://github.com/Clarity-89)
- **NodeGraph:** Add msagl and the layered layout code. [#88375](https://github.com/grafana/grafana/issues/88375), [@aocenas](https://github.com/aocenas)
- **API:** Add in theme support to /render/\* endpoint. [#88304](https://github.com/grafana/grafana/issues/88304), [@timlevett](https://github.com/timlevett)
- **Alerting:** Add filters for RouteGetRuleStatuses. [#88295](https://github.com/grafana/grafana/issues/88295), [@fayzal-g](https://github.com/fayzal-g)
- **Plugins:** Update the `plugin.json` schema with UI extensions meta-data. [#88288](https://github.com/grafana/grafana/issues/88288), [@leventebalogh](https://github.com/leventebalogh)
- **Auth:** Update SAML lib to improve HTTP-Post binding. [#88287](https://github.com/grafana/grafana/issues/88287), [@mgyongyosi](https://github.com/mgyongyosi)
- **Tempo:** Send current filters when retrieving tags for AdHocFilters. [#88270](https://github.com/grafana/grafana/issues/88270), [@joey-grafana](https://github.com/joey-grafana)
- **Tempo:** Support standard span convention. [#88268](https://github.com/grafana/grafana/issues/88268), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **ValueFormats:** Add Uruguay peso currency. [#88260](https://github.com/grafana/grafana/issues/88260), [@lfdominguez](https://github.com/lfdominguez)
- **DateTimePicker:** Add clearable prop. [#88215](https://github.com/grafana/grafana/issues/88215), [@Clarity-89](https://github.com/Clarity-89)
- **Correlations:** Enable feature toggle by default (on-prem). [#88208](https://github.com/grafana/grafana/issues/88208), [@ifrost](https://github.com/ifrost)
- **Stat:** Add percent change color modes. [#88205](https://github.com/grafana/grafana/issues/88205), [@drew08t](https://github.com/drew08t)
- **Logs:** Added multi-line display control to the "wrap lines" option. [#88144](https://github.com/grafana/grafana/issues/88144), [@matyax](https://github.com/matyax)
- **Tempo:** Update lezer autocomplete (histogram, quantile) and add missing functions. [#88131](https://github.com/grafana/grafana/issues/88131), [@joey-grafana](https://github.com/joey-grafana)
- **AnnotationsPlugin2:** Implement support for rectangular annotations in Heatmap. [#88107](https://github.com/grafana/grafana/issues/88107), [@adrapereira](https://github.com/adrapereira)
- **CodeEditor:** Improved styles when the code editor is loading. [#88102](https://github.com/grafana/grafana/issues/88102), [@NWRichmond](https://github.com/NWRichmond)
- **CloudWatch:** Add additional AWS/KinesisAnalytics metrics . [#88101](https://github.com/grafana/grafana/issues/88101), [@tristanburgess](https://github.com/tristanburgess)
- **Cloudwatch:** Add AWS/Events Metrics. [#88097](https://github.com/grafana/grafana/issues/88097), [@LeonardoBoleli](https://github.com/LeonardoBoleli)
- **Azure:** Basic Logs support. [#88025](https://github.com/grafana/grafana/issues/88025), [@aangelisc](https://github.com/aangelisc)
- **Dashboard:** Make dashboard search faster. [#88019](https://github.com/grafana/grafana/issues/88019), [@knuzhdin](https://github.com/knuzhdin)
- **Alerting:** Support custom API URL for PagerDuty integration. [#88007](https://github.com/grafana/grafana/issues/88007), [@gaurav1999](https://github.com/gaurav1999)
- **Alerting:** Add optional metadata via query param to silence GET requests. [#88000](https://github.com/grafana/grafana/issues/88000), [@JacobsonMT](https://github.com/JacobsonMT)
- **Store:** Enable adding extra middleware. [#87984](https://github.com/grafana/grafana/issues/87984), [@Clarity-89](https://github.com/Clarity-89)
- **Tempo:** Don't modify the passed time range when using timeShiftEnabled. [#87980](https://github.com/grafana/grafana/issues/87980), [@aocenas](https://github.com/aocenas)
- **InfluxDB:** Introduce maxDataPoints setting for flux variable query editor. [#87935](https://github.com/grafana/grafana/issues/87935), [@itsmylife](https://github.com/itsmylife)
- **Alerting:** New list view UI Part 1. [#87907](https://github.com/grafana/grafana/issues/87907), [@gillesdemey](https://github.com/gillesdemey)
- **NodeGraph:** Remove msagl lib and layered layout option. [#87905](https://github.com/grafana/grafana/issues/87905), [@aocenas](https://github.com/aocenas)
- **InfluxDB:** Introduce custom variable support. [#87903](https://github.com/grafana/grafana/issues/87903), [@itsmylife](https://github.com/itsmylife)
- **Gops:** Add tracking for data source check. [#87886](https://github.com/grafana/grafana/issues/87886), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **AzureMonitor:** Prometheus exemplars support . [#87742](https://github.com/grafana/grafana/issues/87742), [@aangelisc](https://github.com/aangelisc)
- **Feature Management:** Move awsDatasourcesNewFormStyling to GA. [#87696](https://github.com/grafana/grafana/issues/87696), [@idastambuk](https://github.com/idastambuk)
- **TimeRangePicker:** Announce to screen reader when time range is updated. [#87692](https://github.com/grafana/grafana/issues/87692), [@tskarhed](https://github.com/tskarhed)
- **Alerting:** Template selector in contact points form. [#87689](https://github.com/grafana/grafana/issues/87689), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Azure:** Load custom clouds from ini file. [#87667](https://github.com/grafana/grafana/issues/87667), [@JonCole](https://github.com/JonCole)
- **Loki:** Kick start your query now applies templates to the current query. [#87658](https://github.com/grafana/grafana/issues/87658), [@matyax](https://github.com/matyax)
- **Elasticsearch:** Queries no longer executed while typing. [#87652](https://github.com/grafana/grafana/issues/87652), [@matyax](https://github.com/matyax)
- **Alerting:** Add options to configure TLS for HA using Redis. [#87567](https://github.com/grafana/grafana/issues/87567), [@fayzal-g](https://github.com/fayzal-g)
- **VizLegend:** Represent line style in series legend and tooltip. [#87558](https://github.com/grafana/grafana/issues/87558), [@domasx2](https://github.com/domasx2)
- **FeatureBadge:** Update FeatureBadge to support current release stages. [#87555](https://github.com/grafana/grafana/issues/87555), [@ivanahuckova](https://github.com/ivanahuckova)
- **Logs:** Infinite scrolling in Explore enabled by default. [#87493](https://github.com/grafana/grafana/issues/87493), [@matyax](https://github.com/matyax)
- **Plugins:** Improve frontend loader cache. [#87488](https://github.com/grafana/grafana/issues/87488), [@jackw](https://github.com/jackw)
- **Chore:** Upgrade go from 1.21.0 to 1.21.10. [#87479](https://github.com/grafana/grafana/issues/87479), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Chore:** Upgrade go to 1.22.3. [#87463](https://github.com/grafana/grafana/issues/87463), [@stephaniehingtgen](https://github.com/stephaniehingtgen)
- **Team:** Add an endpoint for bulk team membership updates. [#87441](https://github.com/grafana/grafana/issues/87441), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Flamegraph:** Add collapse and expand group buttons to toolbar. [#87395](https://github.com/grafana/grafana/issues/87395), [@aocenas](https://github.com/aocenas)
- **OIDC:** Support Generic OAuth org to role mappings. [#87394](https://github.com/grafana/grafana/issues/87394), [@sathieu](https://github.com/sathieu)
- **Search:** Announce to screen reader when query returns no result. [#87382](https://github.com/grafana/grafana/issues/87382), [@tskarhed](https://github.com/tskarhed)
- **Logs:** Added support for numeric log levels. [#87366](https://github.com/grafana/grafana/issues/87366), [@nailgun](https://github.com/nailgun)
- **Prometheus:** Place custom inputs first when using regex filter values in the query builder. [#87360](https://github.com/grafana/grafana/issues/87360), [@NWRichmond](https://github.com/NWRichmond)
- **Alerting:** Remove requirement for datasource query on rule read. [#87349](https://github.com/grafana/grafana/issues/87349), [@rwwiv](https://github.com/rwwiv)
- **Alerting:** Add RBAC logic for silences creation. [#87322](https://github.com/grafana/grafana/issues/87322), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Update silences creation to support `__alert_rule_uid__` and move into drawer. [#87320](https://github.com/grafana/grafana/issues/87320), [@tomratcliffe](https://github.com/tomratcliffe)
- **Flamegraph:** Add diff mode color legend. [#87319](https://github.com/grafana/grafana/issues/87319), [@aocenas](https://github.com/aocenas)
- **Dashboard:** Keyboard and mouse panel shortcuts improvement. [#87317](https://github.com/grafana/grafana/issues/87317), [@tskarhed](https://github.com/tskarhed)
- **PanelHeaderCorner:** Remove font-awesome icons. [#87303](https://github.com/grafana/grafana/issues/87303), [@Clarity-89](https://github.com/Clarity-89)
- **Alerting:** Add OAuth2 to HTTP settings for vanilla Alertmanager / Mimir. [#87272](https://github.com/grafana/grafana/issues/87272), [@gillesdemey](https://github.com/gillesdemey)
- **Plugins:** Allow apps to expose components. Update the extensions API. [#87236](https://github.com/grafana/grafana/issues/87236), [@leventebalogh](https://github.com/leventebalogh)
- **Plugins:** Catalog to show all plugins by default. [#87168](https://github.com/grafana/grafana/issues/87168), [@sympatheticmoose](https://github.com/sympatheticmoose)
- **Prometheus:** Ensure values in metric selector are visible. [#87150](https://github.com/grafana/grafana/issues/87150), [@NWRichmond](https://github.com/NWRichmond)
- **Select:** Add data-testid to Input. [#87105](https://github.com/grafana/grafana/issues/87105), [@Clarity-89](https://github.com/Clarity-89)
- **Prometheus:** Add native histogram types metric explorer to allow filter by type. [#87090](https://github.com/grafana/grafana/issues/87090), [@bohandley](https://github.com/bohandley)
- **Prometheus:** Add hints for native histograms. [#87017](https://github.com/grafana/grafana/issues/87017), [@bohandley](https://github.com/bohandley)
- **Alerting:** Reduce number of request fetching rules in the dashboard view using rtkq. [#86991](https://github.com/grafana/grafana/issues/86991), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Plugins:** Make grafana-com API URL usage consistent. [#86920](https://github.com/grafana/grafana/issues/86920), [@oshirohugo](https://github.com/oshirohugo)
- **Stack:** Add size props. [#86900](https://github.com/grafana/grafana/issues/86900), [@Clarity-89](https://github.com/Clarity-89)
- **Table Panel:** Enable Text Wrapping. [#86895](https://github.com/grafana/grafana/issues/86895), [@codeincarnate](https://github.com/codeincarnate)
- **Alerting:** Get grafana-managed alert rule by UID. [#86845](https://github.com/grafana/grafana/issues/86845), [@fayzal-g](https://github.com/fayzal-g)
- **Cloudwatch:** Add Kendra metrics. [#86809](https://github.com/grafana/grafana/issues/86809), [@scottschreckengaust](https://github.com/scottschreckengaust)
- **Auth:** Added support to filter for parent teams in GitHub connector's team membership filter. [#86754](https://github.com/grafana/grafana/issues/86754), [@wasim-nihal](https://github.com/wasim-nihal)
- **Alerting:** Hook up GMA silence APIs to new authentication handler. [#86625](https://github.com/grafana/grafana/issues/86625), [@JacobsonMT](https://github.com/JacobsonMT)
- **GeoMap:** Pan and zoom keyboard support. [#86573](https://github.com/grafana/grafana/issues/86573), [@tskarhed](https://github.com/tskarhed)
- **Alerting:** Optimize rule status gathering APIs when a limit is applied. [#86568](https://github.com/grafana/grafana/issues/86568), [@stevesg](https://github.com/stevesg)
- **Plugins:** Add an auto-generated part to the `plugin.json` schema. [#86520](https://github.com/grafana/grafana/issues/86520), [@leventebalogh](https://github.com/leventebalogh)
- **Loki/Prometheus Query Editor:** Disabled cmd/ctrl+f keybinding within the editor. [#86418](https://github.com/grafana/grafana/issues/86418), [@matyax](https://github.com/matyax)
- **Grafana packages:** Remove E2E workspace. [#86416](https://github.com/grafana/grafana/issues/86416), [@sunker](https://github.com/sunker)
- **RefreshPicker:** Change running state to be less distracting . [#86405](https://github.com/grafana/grafana/issues/86405), [@torkelo](https://github.com/torkelo)
- **Prometheus:** Cancellable label values requests. [#86403](https://github.com/grafana/grafana/issues/86403), [@NWRichmond](https://github.com/NWRichmond)
- **SQLStore:** Improve recursive CTE support detection. [#86397](https://github.com/grafana/grafana/issues/86397), [@mildwonkey](https://github.com/mildwonkey)
- **CloudMonitoring:** Ensure variables can be used in all variable queries. [#86377](https://github.com/grafana/grafana/issues/86377), [@aangelisc](https://github.com/aangelisc)
- **Common labels/displayed fields:** Show label names with values. [#86345](https://github.com/grafana/grafana/issues/86345), [@matyax](https://github.com/matyax)
- **AuthZ:** Further protect admin endpoints. [#86285](https://github.com/grafana/grafana/issues/86285), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Explore:** Deprecate local storage singular datasource key. [#86250](https://github.com/grafana/grafana/issues/86250), [@gelicia](https://github.com/gelicia)
- **Loki:** Add label filters after label_format if present. [#86124](https://github.com/grafana/grafana/issues/86124), [@matyax](https://github.com/matyax)
- **Alerting:** Immutable plugin rules and alerting plugins extensions. [#86042](https://github.com/grafana/grafana/issues/86042), [@konrad147](https://github.com/konrad147)
- **Tempo:** Group by template vars. [#86022](https://github.com/grafana/grafana/issues/86022), [@joey-grafana](https://github.com/joey-grafana)
- **Short Links:** Add setting for changing expiration time. [#86003](https://github.com/grafana/grafana/issues/86003), [@gelicia](https://github.com/gelicia)
- **Prometheus:** Add native histogram functions. [#86002](https://github.com/grafana/grafana/issues/86002), [@bohandley](https://github.com/bohandley)
- **Plugins:** Removed feature toggle pluginsDynamicAngularDetectionPatterns. [#85956](https://github.com/grafana/grafana/issues/85956), [@xnyo](https://github.com/xnyo)
- **Plugins:** Removed feature toggle enablePluginsTracingByDefault. [#85953](https://github.com/grafana/grafana/issues/85953), [@xnyo](https://github.com/xnyo)
- **Tracing:** Allow otel service name and attributes to be overridden from env. [#85937](https://github.com/grafana/grafana/issues/85937), [@marefr](https://github.com/marefr)
- **PanelChrome:** Improve accessibility landmark markup. [#85863](https://github.com/grafana/grafana/issues/85863), [@tskarhed](https://github.com/tskarhed)
- **Gops:** Add configuration tracker on the existing IRM page. [#85838](https://github.com/grafana/grafana/issues/85838), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **CloudWatch:** Add additional Glue metrics. [#85798](https://github.com/grafana/grafana/issues/85798), [@tristanburgess](https://github.com/tristanburgess)
- **CloudWatch:** Add labels for Metric Query type queries. [#85766](https://github.com/grafana/grafana/issues/85766), [@kevinwcyu](https://github.com/kevinwcyu)
- **Util:** Support parsing and splitting strings enclosed in quotes in util.SplitString. [#85735](https://github.com/grafana/grafana/issues/85735), [@mgyongyosi](https://github.com/mgyongyosi)
- **Loki:** Handle `X-Scope-OrgID` and tenant IDs. [#85726](https://github.com/grafana/grafana/issues/85726), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **CloudWatch:** Add a Performance Insights and other missing metrics to aws/rds. [#85680](https://github.com/grafana/grafana/issues/85680), [@kgeckhart](https://github.com/kgeckhart)
- **Prometheus:** Respect dashboard queries when querying ad hoc filter labels. [#85674](https://github.com/grafana/grafana/issues/85674), [@itsmylife](https://github.com/itsmylife)
- **Pyroscope:** Add adhoc filters support. [#85601](https://github.com/grafana/grafana/issues/85601), [@aocenas](https://github.com/aocenas)
- **Table Panel:** Update background colors to respect transparency. [#85565](https://github.com/grafana/grafana/issues/85565), [@codeincarnate](https://github.com/codeincarnate)
- **Canvas:** Add support for line animation. [#85556](https://github.com/grafana/grafana/issues/85556), [@adela-almasan](https://github.com/adela-almasan)
- **Reducers:** Add in basic Percentile Support. [#85554](https://github.com/grafana/grafana/issues/85554), [@timlevett](https://github.com/timlevett)
- **Storage:** Watch tests. [#85496](https://github.com/grafana/grafana/issues/85496), [@DanCech](https://github.com/DanCech)
- **Plugins:** Show update buttons when instance version is different. [#85486](https://github.com/grafana/grafana/issues/85486), [@oshirohugo](https://github.com/oshirohugo)
- **Tempo:** Always use time range even if timeShiftEnabled is false. [#85477](https://github.com/grafana/grafana/issues/85477), [@ogxd](https://github.com/ogxd)
- **Alerting:** Gops labels integration. [#85467](https://github.com/grafana/grafana/issues/85467), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Explore:** Set X-Cache-Skip to true for query requests. [#85460](https://github.com/grafana/grafana/issues/85460), [@Elfo404](https://github.com/Elfo404)
- **Explore:** Make Explore breadcrumb clickable. [#85437](https://github.com/grafana/grafana/issues/85437), [@Elfo404](https://github.com/Elfo404)
- **Prometheus:** Fuzzy search for metric names in Code Mode. [#85396](https://github.com/grafana/grafana/issues/85396), [@NWRichmond](https://github.com/NWRichmond)
- **Storage Api:** Adds traces. [#85391](https://github.com/grafana/grafana/issues/85391), [@owensmallwood](https://github.com/owensmallwood)
- **Storage Api:** Add metrics. [#85316](https://github.com/grafana/grafana/issues/85316), [@owensmallwood](https://github.com/owensmallwood)
- **Alerting:** Improve paused alert visibility and allow pausing/resuming from alert list view. [#85116](https://github.com/grafana/grafana/issues/85116), [@tomratcliffe](https://github.com/tomratcliffe)
- **CloudWatch:** Clarify match exact tooltip and docs. [#85095](https://github.com/grafana/grafana/issues/85095), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Evaluation quick buttons. [#85010](https://github.com/grafana/grafana/issues/85010), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Add state history polling interval. [#84837](https://github.com/grafana/grafana/issues/84837), [@gillesdemey](https://github.com/gillesdemey)
- **CloudWatch:** Improve metric label parsing. [#84835](https://github.com/grafana/grafana/issues/84835), [@iwysiu](https://github.com/iwysiu)
- **Alerting:** Improve template preview. [#84798](https://github.com/grafana/grafana/issues/84798), [@konrad147](https://github.com/konrad147)
- **Alerting:** New settings page. [#84501](https://github.com/grafana/grafana/issues/84501), [@gillesdemey](https://github.com/gillesdemey)
- **Explore:** Move Query History to be screen wide. [#84321](https://github.com/grafana/grafana/issues/84321), [@gelicia](https://github.com/gelicia)
- **MixedDataSource:** Support multi value data source variable that issues a query to each data source. [#83356](https://github.com/grafana/grafana/issues/83356), [@torkelo](https://github.com/torkelo)
- **PluginExtensions:** Make the extensions registry reactive. [#83085](https://github.com/grafana/grafana/issues/83085), [@mckn](https://github.com/mckn)
- **Loki:** Use label/&lt;name&gt;/values API instead of series API for label values discovery. [#83044](https://github.com/grafana/grafana/issues/83044), [@yuri-rs](https://github.com/yuri-rs)
- **Tempo:** Escape backslash in span name for promsql query. [#83024](https://github.com/grafana/grafana/issues/83024), [@ttshivers](https://github.com/ttshivers)
- **Alerting:** Export and provisioning rules into subfolders. [#77450](https://github.com/grafana/grafana/issues/77450), [@papagian](https://github.com/papagian)
- **Notification banner:** Integrate with RBAC. (Enterprise)
- **Auth:** Assign users using SAML to AutoAssignOrgRole if no role matches. (Enterprise)
- **Notification banner:** Display preview. (Enterprise)
- **Auth:** Add None and Viewer roles as options to SAML UI config. (Enterprise)
- **SAML:** Add nonce to the generated script tag. (Enterprise)
- **Notification banner:** Add settings page. (Enterprise)
- **Notification banner:** Add API client. (Enterprise)
- **Chore:** Upgrade go version to 1.22.3. (Enterprise)
- **Auditing:** Correctly parse the URL for auditing through Loki. (Enterprise)
- **Auditlog:** Refactor action to post-action in default auditlogging. (Enterprise)
- **Plugins:** Make grafana-com API URL usage consistent. (Enterprise)
- **Plugins:** Make grafana-com API URL usage consistent. (Enterprise)
- **Caching:** Implement mtls-enabled memcached integration. (Enterprise)
- **OpenAPI:** Document the datasource caching API. (Enterprise)
### Bug fixes
- **Alerting:** Fix go-swagger extraction and several embedded types from Alertmanager in Swagger docs. [#88879](https://github.com/grafana/grafana/issues/88879), [@alexweav](https://github.com/alexweav)
- **DashboardScene:** Fixes inspect with transforms issue. [#88843](https://github.com/grafana/grafana/issues/88843), [@torkelo](https://github.com/torkelo)
- **Elasticsearch:** Fix stripping of trailing slashes in datasource URLs. [#88779](https://github.com/grafana/grafana/issues/88779), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki:** Fix editor history in wrong order. [#88666](https://github.com/grafana/grafana/issues/88666), [@svennergr](https://github.com/svennergr)
- **Cli:** Fix bug where password is hashed twice. [#88589](https://github.com/grafana/grafana/issues/88589), [@kalleep](https://github.com/kalleep)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88572](https://github.com/grafana/grafana/issues/88572), [@aangelisc](https://github.com/aangelisc)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88521](https://github.com/grafana/grafana/issues/88521), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Dashboard:** Fix Variables query hides fields with non-supported datasources. [#88516](https://github.com/grafana/grafana/issues/88516), [@axelavargas](https://github.com/axelavargas)
- **Explore:** Align time filters properly to day boundaries in query history. [#88498](https://github.com/grafana/grafana/issues/88498), [@aocenas](https://github.com/aocenas)
- **Access Control:** Clean up permissions for deprovisioned data sources. [#88483](https://github.com/grafana/grafana/issues/88483), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Dashboards:** Correctly display Admin access to dashboards in the UI. [#88439](https://github.com/grafana/grafana/issues/88439), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **LibraryPanels/RBAC:** Ignore old folder permission check when deleting/patching lib panel. [#88422](https://github.com/grafana/grafana/issues/88422), [@kaydelaney](https://github.com/kaydelaney)
- **LogsTable:** Fix default sort by time. [#88398](https://github.com/grafana/grafana/issues/88398), [@svennergr](https://github.com/svennergr)
- **Dashboards:** Fix regression when deleting folder. [#88311](https://github.com/grafana/grafana/issues/88311), [@papagian](https://github.com/papagian)
- **Docker:** Fix renderer plugin in custom Dockerfile. [#88223](https://github.com/grafana/grafana/issues/88223), [@AgnesToulet](https://github.com/AgnesToulet)
- **Alerting:** Fix rules deleting when reordering whilst filtered. [#88221](https://github.com/grafana/grafana/issues/88221), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix "copy link" not including full URL. [#88210](https://github.com/grafana/grafana/issues/88210), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix typo in JSON response for rule export. [#88028](https://github.com/grafana/grafana/issues/88028), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix scheduler to sort rules before evaluation. [#88006](https://github.com/grafana/grafana/issues/88006), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#87990](https://github.com/grafana/grafana/issues/87990), [@aangelisc](https://github.com/aangelisc)
- **Alerting:** Assume built-in AM is receiving alerts in case of not having admin config. [#87893](https://github.com/grafana/grafana/issues/87893), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **DashboardScene:** Skip panel repeats when values are the same. [#87788](https://github.com/grafana/grafana/issues/87788), [@torkelo](https://github.com/torkelo)
- **Alerting:** Fix deleting rules when silencing/resuming rule from a panel alert tab. [#87710](https://github.com/grafana/grafana/issues/87710), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Dashboards:** Don't set dashboard creator/updater if the action is done by an API key. [#87704](https://github.com/grafana/grafana/issues/87704), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Elasticsearch:** Fix setting of default maxConcurrentShardRequests. [#87703](https://github.com/grafana/grafana/issues/87703), [@ivanahuckova](https://github.com/ivanahuckova)
- **Graphite:** Fix alignment of elements in the query editor. [#87662](https://github.com/grafana/grafana/issues/87662), [@NWRichmond](https://github.com/NWRichmond)
- **DashboardScene:** Fixing major row repeat issues. [#87539](https://github.com/grafana/grafana/issues/87539), [@torkelo](https://github.com/torkelo)
- **Alerting:** Do not store series values from past evaluations in state manager for no reason. [#87525](https://github.com/grafana/grafana/issues/87525), [@alexweav](https://github.com/alexweav)
- **RBAC:** Update role picker in team page, fix a bug with roles being removed upon team setting update. [#87519](https://github.com/grafana/grafana/issues/87519), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Transformations:** Fix true inner join in `joinByField` transformation. [#87409](https://github.com/grafana/grafana/issues/87409), [@baldm0mma](https://github.com/baldm0mma)
- **Alerting:** Do not retry rule evaluations with "input data must be a wide series but got type long" style errors. [#87343](https://github.com/grafana/grafana/issues/87343), [@alexweav](https://github.com/alexweav)
- **Tempo:** Fix sorting for nested tables. [#87214](https://github.com/grafana/grafana/issues/87214), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **Cloudwatch Logs:** Fix bug where we did not return errors to user. [#87190](https://github.com/grafana/grafana/issues/87190), [@sarahzinger](https://github.com/sarahzinger)
- **CloudWatch:** Fix apostrophes in dimension values not being escaped. [#87182](https://github.com/grafana/grafana/issues/87182), [@kevinwcyu](https://github.com/kevinwcyu)
- **AnnotationList:** Fix link for annotation with no panel or dashboard. [#87048](https://github.com/grafana/grafana/issues/87048), [@tskarhed](https://github.com/tskarhed)
- **Graphite:** Fix splitting expressions in tag_value with template variables. [#86958](https://github.com/grafana/grafana/issues/86958), [@EduardZaydler](https://github.com/EduardZaydler)
- **SQL Query Editor:** Fix label-for IDs, associate "Table" label. [#86944](https://github.com/grafana/grafana/issues/86944), [@timo](https://github.com/timo)
- **SSO:** Add SSO settings to secrets migrator. [#86913](https://github.com/grafana/grafana/issues/86913), [@dmihai](https://github.com/dmihai)
- **Plugins:** Preserve trailing slash in plugin proxy. [#86859](https://github.com/grafana/grafana/issues/86859), [@marefr](https://github.com/marefr)
- **TimeSeries:** Improve keyboard focus and fix spacebar override. [#86848](https://github.com/grafana/grafana/issues/86848), [@tskarhed](https://github.com/tskarhed)
- **NodeGraph:** Use values from fixedX/fixedY column for layout. [#86643](https://github.com/grafana/grafana/issues/86643), [@timo](https://github.com/timo)
- **Alerting:** Prevent simplified routing zero duration GroupInterval and RepeatInterval. [#86561](https://github.com/grafana/grafana/issues/86561), [@JacobsonMT](https://github.com/JacobsonMT)
- **Loki:** Fix setting of tenant ID. [#86433](https://github.com/grafana/grafana/issues/86433), [@fabrizio-grafana](https://github.com/fabrizio-grafana)
- **DashboardScene:** Fixes checkbox orienation in save forms. [#86408](https://github.com/grafana/grafana/issues/86408), [@torkelo](https://github.com/torkelo)
- **CloudMonitoring:** Correctly interpolate multi-valued template variables in PromQL queries. [#86391](https://github.com/grafana/grafana/issues/86391), [@aangelisc](https://github.com/aangelisc)
- **Expressions:** Fix erroneous sorting of metrics and expressions. [#86372](https://github.com/grafana/grafana/issues/86372), [@NWRichmond](https://github.com/NWRichmond)
- **CloudMonitoring:** Allow a custom group by value. [#86288](https://github.com/grafana/grafana/issues/86288), [@aangelisc](https://github.com/aangelisc)
- **DataLinks:** Fixes datalinks with onClick and variables in url not being interpolated . [#86253](https://github.com/grafana/grafana/issues/86253), [@gng0](https://github.com/gng0)
- **I18N:** Fix untranslated descriptions in data source picker. [#86216](https://github.com/grafana/grafana/issues/86216), [@joshhunt](https://github.com/joshhunt)
- **RBAC:** Fix global role deletion in hosted Grafana. [#85980](https://github.com/grafana/grafana/issues/85980), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Expression:** Fix a bug of the display name of the threshold expression result. [#85912](https://github.com/grafana/grafana/issues/85912), [@lingyufei](https://github.com/lingyufei)
- **Alerting:** Fix incorrect display of pending period in alert rule form. [#85893](https://github.com/grafana/grafana/issues/85893), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Fix redirect after saving a notification template. [#85667](https://github.com/grafana/grafana/issues/85667), [@tomratcliffe](https://github.com/tomratcliffe)
- **Alerting:** Get oncall metada only when we have alert manager configuration data. [#85622](https://github.com/grafana/grafana/issues/85622), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Return better error for invalid time range on alert queries. [#85611](https://github.com/grafana/grafana/issues/85611), [@alexweav](https://github.com/alexweav)
- **CloudWatch:** Fix SageMaker MBP namespace typo. [#85557](https://github.com/grafana/grafana/issues/85557), [@tristanburgess](https://github.com/tristanburgess)
- **Alerting:** Only append `/alertmanager` when sending alerts to mimir targets if not already present. [#85543](https://github.com/grafana/grafana/issues/85543), [@alexweav](https://github.com/alexweav)
- **Alerting:** Set mimir implementation in jsonData by default when creating a new a…. [#85513](https://github.com/grafana/grafana/issues/85513), [@soniaAguilarPeiron](https://github.com/soniaAguilarPeiron)
- **Alerting:** Persist silence state immediately on Create/Delete . [#84705](https://github.com/grafana/grafana/issues/84705), [@JacobsonMT](https://github.com/JacobsonMT)
- **NodeGraph:** Fix configuring arc colors with mixed case field names. [#84609](https://github.com/grafana/grafana/issues/84609), [@timo](https://github.com/timo)
- **Auditing:** Fix Loki URL parsing. (Enterprise)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
- **Alerting:** Check pointers before use to prevent segfault. (Enterprise)
- **Reporting:** Fix UI errors when using linked variables. (Enterprise)
### Breaking changes
Users that provision alert rules into folders whose titles contain slashes from now on they should escape them:
eg. if an alert group contains:
`folder: folder_with_/_in_title`
it should become:
`folder: folder_with_\/_in_title` Issue [#77450](https://github.com/grafana/grafana/issues/77450)
### Deprecations
The `grafana.explore.richHistory.activeDatasourceOnly` local storage key is deprecated, and will be removed in Grafana 12. You may experience loss of your Explore query history or autocomplete data if you upgrade to Grafana 12 under 2 weeks of Grafana 11.1. Actual risk of data loss depends on your query history retention policy. Issue [#86250](https://github.com/grafana/grafana/issues/86250)
### Plugin development fixes & changes
- **Select:** Change `Select` group headers to always be visible. [#88178](https://github.com/grafana/grafana/issues/88178), [@ashharrison90](https://github.com/ashharrison90)
- **Select:** Ensure virtualised menu scrolls active option into view when using arrow keys. [#87743](https://github.com/grafana/grafana/issues/87743), [@ashharrison90](https://github.com/ashharrison90)
- **Switch:** Improve disabled active state. [#87694](https://github.com/grafana/grafana/issues/87694), [@ashharrison90](https://github.com/ashharrison90)
- **Button:** Allow disabled button to still be focused. [#87516](https://github.com/grafana/grafana/issues/87516), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **GrafanaUI:** Add `tabular` prop to Text component for tabular numbers. [#87440](https://github.com/grafana/grafana/issues/87440), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
<!-- 11.1.0 END -->
<!-- 11.0.1 START -->
# 11.0.1 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89493](https://github.com/grafana/grafana/issues/89493), [@joshhunt](https://github.com/joshhunt)
- **Fix:** Portuguese Brazilian wasn't loading translations. [#89374](https://github.com/grafana/grafana/issues/89374), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
- **Analytics:** Fix ApplicationInsights integration. [#89300](https://github.com/grafana/grafana/issues/89300), [@ashharrison90](https://github.com/ashharrison90)
- **DashboardScene:** Fixes issue removing override rule. [#89134](https://github.com/grafana/grafana/issues/89134), [@torkelo](https://github.com/torkelo)
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions. [#89130](https://github.com/grafana/grafana/issues/89130), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison. [#89063](https://github.com/grafana/grafana/issues/89063), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **RBAC:** List only the folders that the user has access to. [#89015](https://github.com/grafana/grafana/issues/89015), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **DashboardScene:** Fixes lack of re-render when updating field override properties. [#88985](https://github.com/grafana/grafana/issues/88985), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes inspect with transforms issue. [#88862](https://github.com/grafana/grafana/issues/88862), [@torkelo](https://github.com/torkelo)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88787](https://github.com/grafana/grafana/issues/88787), [@aangelisc](https://github.com/aangelisc)
- **Access Control:** Clean up permissions for deprovisioned data sources. [#88700](https://github.com/grafana/grafana/issues/88700), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **Loki:** Fix editor history in wrong order. [#88669](https://github.com/grafana/grafana/issues/88669), [@svennergr](https://github.com/svennergr)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88651](https://github.com/grafana/grafana/issues/88651), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **LibraryPanels/RBAC:** Ignore old folder permission check when deleting/patching lib panel. [#88493](https://github.com/grafana/grafana/issues/88493), [@kaydelaney](https://github.com/kaydelaney)
- **Dashboards:** Correctly display Admin access to dashboards in the UI. [#88473](https://github.com/grafana/grafana/issues/88473), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
- **LogsTable:** Fix default sort by time. [#88434](https://github.com/grafana/grafana/issues/88434), [@svennergr](https://github.com/svennergr)
- **Alerting:** Fix rules deleting when reordering whilst filtered. [#88285](https://github.com/grafana/grafana/issues/88285), [@gillesdemey](https://github.com/gillesdemey)
- **Alerting:** Fix typo in JSON response for rule export. [#88090](https://github.com/grafana/grafana/issues/88090), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#88024](https://github.com/grafana/grafana/issues/88024), [@aangelisc](https://github.com/aangelisc)
- **Alerting:** Fix scheduler to sort rules before evaluation. [#88021](https://github.com/grafana/grafana/issues/88021), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **DashboardScene:** Skip panel repeats when values are the same. [#87896](https://github.com/grafana/grafana/issues/87896), [@torkelo](https://github.com/torkelo)
- **Alerting:** Do not store series values from past evaluations in state manager for no reason. [#87845](https://github.com/grafana/grafana/issues/87845), [@alexweav](https://github.com/alexweav)
- **DashboardScene:** Fixing major row repeat issues. [#87800](https://github.com/grafana/grafana/issues/87800), [@torkelo](https://github.com/torkelo)
- **DashboardScene:** Fixes checkbox orienation in save forms. [#86490](https://github.com/grafana/grafana/issues/86490), [@torkelo](https://github.com/torkelo)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
### Breaking changes
If you had selected your language as "Português Brasileiro" previously, this will be reset. You have to select it again in your Preferences for the fix to be applied and the translations will then be shown. Issue [#89374](https://github.com/grafana/grafana/issues/89374)
<!-- 11.0.1 END -->
<!-- 11.0.0 START -->
# 11.0.0 (2024-05-14)
@@ -350,6 +1228,33 @@ The deprecated `email` field to send a report via `/api/reports/email` endpoint
- **Grafana UI:** Add code variant to Text component. [#82318](https://github.com/grafana/grafana/issues/82318), [@tskarhed](https://github.com/tskarhed)
<!-- 11.0.0-preview END -->
<!-- 10.4.5 START -->
# 10.4.5 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89498](https://github.com/grafana/grafana/issues/89498), [@joshhunt](https://github.com/joshhunt)
- **Azure Monitor:** Add validation for namespace field in AdvancedResourcePicker when entering a forward slash. [#89313](https://github.com/grafana/grafana/issues/89313), [@adamyeats](https://github.com/adamyeats)
<!-- 10.4.5 END -->
<!-- 10.4.4 START -->
# 10.4.4 (2024-06-13)
### Bug fixes
- **BrowseDashboards:** Prepend subpath to New Browse Dashboard actions. [#89129](https://github.com/grafana/grafana/issues/89129), [@joshhunt](https://github.com/joshhunt)
- **Alerting:** Fix rule storage to filter by group names using case-sensitive comparison. [#89061](https://github.com/grafana/grafana/issues/89061), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix editing Grafana folder via alert rule editor. [#88907](https://github.com/grafana/grafana/issues/88907), [@gillesdemey](https://github.com/gillesdemey)
- **AzureMonitor:** Fix bug detecting app insights queries. [#88786](https://github.com/grafana/grafana/issues/88786), [@aangelisc](https://github.com/aangelisc)
- **AuthN:** Fix signout redirect url. [#88749](https://github.com/grafana/grafana/issues/88749), [@kalleep](https://github.com/kalleep)
- **SSE:** Fix threshold unmarshal to avoid panic. [#88650](https://github.com/grafana/grafana/issues/88650), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **Alerting:** Fix typo in JSON response for rule export. [#88094](https://github.com/grafana/grafana/issues/88094), [@yuri-tceretian](https://github.com/yuri-tceretian)
- **CloudMonitoring:** Fix query type selection issue. [#88023](https://github.com/grafana/grafana/issues/88023), [@aangelisc](https://github.com/aangelisc)
- **Provisioning:** Add override option to role provisioning. (Enterprise)
<!-- 10.4.4 END -->
<!-- 10.4.3 START -->
# 10.4.3 (2024-05-13)
@@ -634,6 +1539,15 @@ Any consumers of the specific API should be appropriately adapted. Issue [#74600
- **Grafana/UI:** Add new Splitter component . [#82357](https://github.com/grafana/grafana/issues/82357), [@torkelo](https://github.com/torkelo)
<!-- 10.4.0 END -->
<!-- 10.3.7 START -->
# 10.3.7 (2024-06-21)
### Bug fixes
- **Echo:** Suppress errors from frontend-metrics API call failing. [#89497](https://github.com/grafana/grafana/issues/89497), [@joshhunt](https://github.com/joshhunt)
<!-- 10.3.7 END -->
<!-- 10.3.6 START -->
# 10.3.6 (2024-05-13)
@@ -810,6 +1724,15 @@ Users who have InfluxDB datasource configured with SQL querying language must up
Removes `NamespaceID` from responses of all GET routes underneath the path `/api/ruler/grafana/api/v1/rules` - 3 affected endpoints. All affected routes are not in the publicly documented or `stable` marked portion of the ngalert API. This only breaks clients who are directly using the unstable portion of the API. Such clients should use `NamespaceUID` rather than `NamespaceID` to identify namespaces. Issue [#79359](https://github.com/grafana/grafana/issues/79359)
<!-- 10.3.0 END -->
<!-- 10.2.8 START -->
# 10.2.8 (2024-06-21)
### Bug fixes
- **Elasticsearch:** Fix URL creation and allowlist for `/_mapping` requests. [#87711](https://github.com/grafana/grafana/issues/87711), [@svennergr](https://github.com/svennergr)
<!-- 10.2.8 END -->
<!-- 10.2.7 START -->
# 10.2.7 (2024-05-13)
@@ -2633,6 +3556,11 @@ The `database` field has been deprecated in the Elasticsearch datasource provisi
- **InteractiveTable:** Updated design and minor tweak to Correlactions page. [#66443](https://github.com/grafana/grafana/issues/66443), [@torkelo](https://github.com/torkelo)
<!-- 10.0.0-preview END -->
<!-- 9.5.20 START -->
# 9.5.20 (2024-06-21)
<!-- 9.5.20 END -->
<!-- 9.5.19 START -->
# 9.5.19 (2024-05-13)

View File

@@ -3,7 +3,7 @@
ARG BASE_IMAGE=alpine:3.19.1
ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.22.4-alpine
ARG GO_IMAGE=golang:1.23.1-alpine
ARG GO_SRC=go-builder
ARG JS_SRC=js-builder
@@ -20,6 +20,7 @@ COPY packages packages
COPY plugins-bundled plugins-bundled
COPY public public
COPY LICENSE ./
COPY conf/defaults.ini ./conf/defaults.ini
RUN apk add --no-cache make build-base python3
@@ -44,6 +45,7 @@ RUN if grep -i -q alpine /etc/issue; then \
apk add --no-cache \
# This is required to allow building on arm64 due to https://github.com/golang/go/issues/22040
binutils-gold \
bash \
# Install build dependencies
gcc g++ make git; \
fi
@@ -57,8 +59,14 @@ COPY .bingo .bingo
COPY pkg/util/xorm/go.* pkg/util/xorm/
COPY pkg/apiserver/go.* pkg/apiserver/
COPY pkg/apimachinery/go.* pkg/apimachinery/
COPY pkg/build/go.* pkg/build/
COPY pkg/build/wire/go.* pkg/build/wire/
COPY pkg/promlib/go.* pkg/promlib/
COPY pkg/storage/unified/resource/go.* pkg/storage/unified/resource/
COPY pkg/storage/unified/apistore/go.* pkg/storage/unified/apistore/
COPY pkg/semconv/go.* pkg/semconv/
COPY pkg/aggregator/go.* pkg/aggregator/
COPY apps/playlist/go.* apps/playlist/
RUN go mod download
RUN if [[ "$BINGO" = "true" ]]; then \

View File

@@ -7,10 +7,10 @@ WIRE_TAGS = "oss"
-include local/Makefile
include .bingo/Variables.mk
GO = go
GO_VERSION = 1.22.4
GO_FILES ?= ./pkg/... ./pkg/apiserver/... ./pkg/apimachinery/... ./pkg/promlib/...
GO_VERSION = 1.23.1
GO_LINT_FILES ?= $(shell ./scripts/go-workspace/golangci-lint-includes.sh)
GO_TEST_FILES ?= $(shell ./scripts/go-workspace/test-includes.sh)
SH_FILES ?= $(shell find ./scripts -name *.sh)
GO_RACE := $(shell [ -n "$(GO_RACE)" -o -e ".go-race-enabled-locally" ] && echo 1 )
GO_RACE_FLAG := $(if $(GO_RACE),-race)
@@ -18,6 +18,9 @@ GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
GO_BUILD_FLAGS += $(GO_RACE_FLAG)
# GNU xargs has flag -r, and BSD xargs (e.g. MacOS) has that behaviour by default
XARGSR = $(shell xargs --version 2>&1 | grep -q GNU && echo xargs -r || echo xargs)
targets := $(shell echo '$(sources)' | tr "," " ")
GO_INTEGRATION_TESTS := $(shell find ./pkg -type f -name '*_test.go' -exec grep -l '^func TestIntegration' '{}' '+' | grep -o '\(.*\)/' | sort -u)
@@ -61,6 +64,7 @@ swagger-oss-gen: $(SWAGGER) ## Generate API Swagger specification
rm -f $(SPEC_TARGET)
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -q -m -w pkg/server -o $(SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
@@ -78,6 +82,7 @@ swagger-enterprise-gen: $(SWAGGER) ## Generate API Swagger specification
rm -f $(ENTERPRISE_SPEC_TARGET)
SWAGGER_GENERATE_EXTENSION=false $(SWAGGER) generate spec -q -m -w pkg/server -o $(ENTERPRISE_SPEC_TARGET) \
-x "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions" \
-x "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
--exclude-tag=alpha \
@@ -167,8 +172,13 @@ fix-cue: $(CUE)
gen-jsonnet:
go generate ./devenv/jsonnet
.PHONY: update-workspace
update-workspace:
@echo "updating workspace"
bash scripts/go-workspace/update-workspace.sh
.PHONY: build-go
build-go: gen-go ## Build all Go binaries.
build-go: gen-go update-workspace ## Build all Go binaries.
@echo "build go files"
$(GO) run build.go $(GO_BUILD_FLAGS) build
@@ -209,13 +219,13 @@ build-plugin-go: ## Build decoupled plugins
build: build-go build-js ## Build backend and frontend.
.PHONY: run
run: $(BRA) ## Build and run web server on filesystem changes.
run: $(BRA) ## Build and run web server on filesystem changes. See /.bra.toml for configuration.
$(BRA) run
.PHONY: run-go
run-go: ## Build and run web server immediately.
$(GO) run -race $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS)) \
./pkg/cmd/grafana -- server -packaging=dev cfg:app_mode=development
./pkg/cmd/grafana -- server -profile -profile-addr=127.0.0.1 -profile-port=6000 -packaging=dev cfg:app_mode=development
.PHONY: run-frontend
run-frontend: deps-js ## Fetch js dependencies and watch frontend for rebuild
@@ -229,9 +239,17 @@ test-go: test-go-unit test-go-integration
.PHONY: test-go-unit
test-go-unit: ## Run unit tests for backend with flags.
@echo "test backend unit tests"
go list -f '{{.Dir}}/...' -m | xargs \
printf '$(GO_TEST_FILES)' | xargs \
$(GO) test $(GO_RACE_FLAG) -short -covermode=atomic -timeout=30m
.PHONY: test-go-unit-pretty
test-go-unit-pretty: check-tparse
@if [ -z "$(FILES)" ]; then \
echo "Notice: FILES variable is not set. Try \"make test-go-unit-pretty FILES=./pkg/services/mysvc\""; \
exit 1; \
fi
$(GO) test $(GO_RACE_FLAG) -timeout=10s $(FILES) -json | tparse -all
.PHONY: test-go-integration
test-go-integration: ## Run integration tests for backend with flags.
@echo "test backend integration tests"
@@ -283,10 +301,19 @@ golangci-lint: $(GOLANGCI_LINT)
@echo "lint via golangci-lint"
$(GOLANGCI_LINT) run \
--config .golangci.toml \
$(GO_FILES)
$(GO_LINT_FILES)
.PHONY: lint-go
lint-go: golangci-lint ## Run all code checks for backend. You can use GO_FILES to specify exact files to check
lint-go: golangci-lint ## Run all code checks for backend. You can use GO_LINT_FILES to specify exact files to check
.PHONY: lint-go-diff
lint-go-diff: $(GOLANGCI_LINT)
git diff --name-only remotes/origin/main | \
grep '\.go$$' | \
$(XARGSR) dirname | \
sort -u | \
sed 's,^,./,' | \
$(XARGSR) $(GOLANGCI_LINT) run --config .golangci.toml
# with disabled SC1071 we are ignored some TCL,Expect `/usr/bin/env expect` scripts
.PHONY: shellcheck
@@ -331,27 +358,32 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
##@ Services
# create docker-compose file with provided sources and start them
# example: make devenv sources=postgres,auth/openldap
COMPOSE := $(shell if docker compose --help >/dev/null 2>&1; then echo docker compose; else echo docker-compose; fi)
ifeq ($(COMPOSE),docker-compose)
$(warning From July 2023 Compose V1 (docker-compose) stopped receiving updates. Migrate to Compose V2 (docker compose). https://docs.docker.com/compose/migrate/)
endif
# Create a Docker Compose file with provided sources and start them.
# For example, `make devenv sources=postgres,auth/openldap`
.PHONY: devenv
ifeq ($(sources),)
devenv:
@printf 'You have to define sources for this command \nexample: make devenv sources=postgres,openldap\n'
@printf 'You have to define sources for this command \nexample: make devenv sources=postgres,auth/openldap\n'
else
devenv: devenv-down ## Start optional services, e.g. postgres, prometheus, and elasticsearch.
devenv: devenv-down ## Start optional services like Postgresql, Prometheus, or Elasticsearch.
@cd devenv; \
./create_docker_compose.sh $(targets) || \
(rm -rf {docker-compose.yaml,conf.tmp,.env}; exit 1)
@cd devenv; \
docker-compose up -d --build
$(COMPOSE) up -d --build
endif
.PHONY: devenv-down
devenv-down: ## Stop optional services.
@cd devenv; \
test -f docker-compose.yaml && \
docker-compose down || exit 0;
$(COMPOSE) down || exit 0;
.PHONY: devenv-postgres
devenv-postgres:
@@ -375,10 +407,10 @@ devenv-mysql:
protobuf: ## Compile protobuf definitions
bash scripts/protobuf-check.sh
go install google.golang.org/protobuf/cmd/protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.4.0
buf generate pkg/plugins/backendplugin/pluginextensionv2 --template pkg/plugins/backendplugin/pluginextensionv2/buf.gen.yaml
buf generate pkg/plugins/backendplugin/secretsmanagerplugin --template pkg/plugins/backendplugin/secretsmanagerplugin/buf.gen.yaml
buf generate pkg/services/store/entity --template pkg/services/store/entity/buf.gen.yaml
buf generate pkg/storage/unified/resource --template pkg/storage/unified/resource/buf.gen.yaml
.PHONY: clean
clean: ## Clean up intermediate build artifacts.
@@ -424,6 +456,12 @@ go-race-is-enabled:
enable-go-race:
@touch .go-race-enabled-locally
check-tparse:
@command -v tparse >/dev/null 2>&1 || { \
echo >&2 "Error: tparse is not installed. Refer to https://github.com/mfridman/tparse"; \
exit 1; \
}
.PHONY: help
help: ## Display this help.
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

View File

@@ -0,0 +1 @@
module:"notifications"

View File

@@ -0,0 +1,32 @@
package core
receiver: {
kind: "Receiver"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "Receivers"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#Integration: {
uid?: string
type: string
disableResolveMessage?: bool
settings: bytes
secureFields?: [string]: bool
}
spec: {
title: string
integrations : [...#Integration]
}
}
}
}
}

View File

@@ -0,0 +1,25 @@
package core
templateGroup: {
kind: "TemplateGroup"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "TemplatesGroups"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
spec: {
title: string
content: string
}
}
}
}
}

View File

@@ -0,0 +1,37 @@
package core
timeInterval: {
kind: "TimeInterval"
group: "notifications"
apiResource: {
groupOverride: "notifications.alerting.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "TimeIntervals"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#TimeRange: {
start_time: string
end_time: string
}
#Interval: {
times?: [...#TimeRange]
weekdays?: [...string]
days_of_month?: [...string]
months?: [...string]
years?: [...string]
location?: string
}
spec: {
name: string
time_intervals: [...#Interval]
}
}
}
}
}

3
apps/playlist/Makefile Normal file
View File

@@ -0,0 +1,3 @@
.PHONY: generate
generate:
@grafana-app-sdk generate -g ./apis --kindgrouping=group --postprocess

View File

@@ -0,0 +1,28 @@
//
// Code generated by grafana-app-sdk. DO NOT EDIT.
//
package v0alpha1
import (
"encoding/json"
"io"
"github.com/grafana/grafana-app-sdk/resource"
)
// PlaylistJSONCodec is an implementation of resource.Codec for kubernetes JSON encoding
type PlaylistJSONCodec struct{}
// Read reads JSON-encoded bytes from `reader` and unmarshals them into `into`
func (*PlaylistJSONCodec) Read(reader io.Reader, into resource.Object) error {
return json.NewDecoder(reader).Decode(into)
}
// Write writes JSON-encoded bytes into `writer` marshaled from `from`
func (*PlaylistJSONCodec) Write(writer io.Writer, from resource.Object) error {
return json.NewEncoder(writer).Encode(from)
}
// Interface compliance checks
var _ resource.Codec = &PlaylistJSONCodec{}

View File

@@ -0,0 +1,32 @@
package v0alpha1
import (
"time"
)
// PlaylistMetadata defines model for PlaylistMetadata.
type PlaylistMetadata struct {
CreatedBy string `json:"createdBy"`
CreationTimestamp time.Time `json:"creationTimestamp"`
DeletionTimestamp *time.Time `json:"deletionTimestamp,omitempty"`
Finalizers []string `json:"finalizers"`
Generation int64 `json:"generation"`
Labels map[string]string `json:"labels"`
ResourceVersion string `json:"resourceVersion"`
Uid string `json:"uid"`
UpdateTimestamp time.Time `json:"updateTimestamp"`
UpdatedBy string `json:"updatedBy"`
}
// _kubeObjectMetadata is metadata found in a kubernetes object's metadata field.
// It is not exhaustive and only includes fields which may be relevant to a kind's implementation,
// As it is also intended to be generic enough to function with any API Server.
type PlaylistKubeObjectMetadata struct {
CreationTimestamp time.Time `json:"creationTimestamp"`
DeletionTimestamp *time.Time `json:"deletionTimestamp,omitempty"`
Finalizers []string `json:"finalizers"`
Generation int64 `json:"generation"`
Labels map[string]string `json:"labels"`
ResourceVersion string `json:"resourceVersion"`
Uid string `json:"uid"`
}

View File

@@ -0,0 +1,265 @@
//
// Code generated by grafana-app-sdk. DO NOT EDIT.
//
package v0alpha1
import (
"fmt"
"github.com/grafana/grafana-app-sdk/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/types"
"time"
)
// +k8s:openapi-gen=true
type Playlist struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata"`
Spec PlaylistSpec `json:"spec"`
PlaylistStatus PlaylistStatus `json:"status"`
}
func (o *Playlist) GetSpec() any {
return o.Spec
}
func (o *Playlist) SetSpec(spec any) error {
cast, ok := spec.(PlaylistSpec)
if !ok {
return fmt.Errorf("cannot set spec type %#v, not of type Spec", spec)
}
o.Spec = cast
return nil
}
func (o *Playlist) GetSubresources() map[string]any {
return map[string]any{
"status": o.PlaylistStatus,
}
}
func (o *Playlist) GetSubresource(name string) (any, bool) {
switch name {
case "status":
return o.PlaylistStatus, true
default:
return nil, false
}
}
func (o *Playlist) SetSubresource(name string, value any) error {
switch name {
case "status":
cast, ok := value.(PlaylistStatus)
if !ok {
return fmt.Errorf("cannot set status type %#v, not of type PlaylistStatus", value)
}
o.PlaylistStatus = cast
return nil
default:
return fmt.Errorf("subresource '%s' does not exist", name)
}
}
func (o *Playlist) GetStaticMetadata() resource.StaticMetadata {
return resource.StaticMetadata{
Name: o.ObjectMeta.Name,
Namespace: o.ObjectMeta.Namespace,
Group: o.GroupVersionKind().Group,
Version: o.GroupVersionKind().Version,
Kind: o.GroupVersionKind().Kind,
}
}
func (o *Playlist) SetStaticMetadata(metadata resource.StaticMetadata) {
o.Name = metadata.Name
o.Namespace = metadata.Namespace
o.SetGroupVersionKind(schema.GroupVersionKind{
Group: metadata.Group,
Version: metadata.Version,
Kind: metadata.Kind,
})
}
func (o *Playlist) GetCommonMetadata() resource.CommonMetadata {
dt := o.DeletionTimestamp
var deletionTimestamp *time.Time
if dt != nil {
deletionTimestamp = &dt.Time
}
// Legacy ExtraFields support
extraFields := make(map[string]any)
if o.Annotations != nil {
extraFields["annotations"] = o.Annotations
}
if o.ManagedFields != nil {
extraFields["managedFields"] = o.ManagedFields
}
if o.OwnerReferences != nil {
extraFields["ownerReferences"] = o.OwnerReferences
}
return resource.CommonMetadata{
UID: string(o.UID),
ResourceVersion: o.ResourceVersion,
Generation: o.Generation,
Labels: o.Labels,
CreationTimestamp: o.CreationTimestamp.Time,
DeletionTimestamp: deletionTimestamp,
Finalizers: o.Finalizers,
UpdateTimestamp: o.GetUpdateTimestamp(),
CreatedBy: o.GetCreatedBy(),
UpdatedBy: o.GetUpdatedBy(),
ExtraFields: extraFields,
}
}
func (o *Playlist) SetCommonMetadata(metadata resource.CommonMetadata) {
o.UID = types.UID(metadata.UID)
o.ResourceVersion = metadata.ResourceVersion
o.Generation = metadata.Generation
o.Labels = metadata.Labels
o.CreationTimestamp = metav1.NewTime(metadata.CreationTimestamp)
if metadata.DeletionTimestamp != nil {
dt := metav1.NewTime(*metadata.DeletionTimestamp)
o.DeletionTimestamp = &dt
} else {
o.DeletionTimestamp = nil
}
o.Finalizers = metadata.Finalizers
if o.Annotations == nil {
o.Annotations = make(map[string]string)
}
if !metadata.UpdateTimestamp.IsZero() {
o.SetUpdateTimestamp(metadata.UpdateTimestamp)
}
if metadata.CreatedBy != "" {
o.SetCreatedBy(metadata.CreatedBy)
}
if metadata.UpdatedBy != "" {
o.SetUpdatedBy(metadata.UpdatedBy)
}
// Legacy support for setting Annotations, ManagedFields, and OwnerReferences via ExtraFields
if metadata.ExtraFields != nil {
if annotations, ok := metadata.ExtraFields["annotations"]; ok {
if cast, ok := annotations.(map[string]string); ok {
o.Annotations = cast
}
}
if managedFields, ok := metadata.ExtraFields["managedFields"]; ok {
if cast, ok := managedFields.([]metav1.ManagedFieldsEntry); ok {
o.ManagedFields = cast
}
}
if ownerReferences, ok := metadata.ExtraFields["ownerReferences"]; ok {
if cast, ok := ownerReferences.([]metav1.OwnerReference); ok {
o.OwnerReferences = cast
}
}
}
}
func (o *Playlist) GetCreatedBy() string {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
return o.ObjectMeta.Annotations["grafana.com/createdBy"]
}
func (o *Playlist) SetCreatedBy(createdBy string) {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
o.ObjectMeta.Annotations["grafana.com/createdBy"] = createdBy
}
func (o *Playlist) GetUpdateTimestamp() time.Time {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
parsed, _ := time.Parse(time.RFC3339, o.ObjectMeta.Annotations["grafana.com/updateTimestamp"])
return parsed
}
func (o *Playlist) SetUpdateTimestamp(updateTimestamp time.Time) {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
o.ObjectMeta.Annotations["grafana.com/updateTimestamp"] = updateTimestamp.Format(time.RFC3339)
}
func (o *Playlist) GetUpdatedBy() string {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
return o.ObjectMeta.Annotations["grafana.com/updatedBy"]
}
func (o *Playlist) SetUpdatedBy(updatedBy string) {
if o.ObjectMeta.Annotations == nil {
o.ObjectMeta.Annotations = make(map[string]string)
}
o.ObjectMeta.Annotations["grafana.com/updatedBy"] = updatedBy
}
func (o *Playlist) Copy() resource.Object {
return resource.CopyObject(o)
}
func (o *Playlist) DeepCopyObject() runtime.Object {
return o.Copy()
}
// Interface compliance compile-time check
var _ resource.Object = &Playlist{}
// +k8s:openapi-gen=true
type PlaylistList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata"`
Items []Playlist `json:"items"`
}
func (o *PlaylistList) DeepCopyObject() runtime.Object {
return o.Copy()
}
func (o *PlaylistList) Copy() resource.ListObject {
cpy := &PlaylistList{
TypeMeta: o.TypeMeta,
Items: make([]Playlist, len(o.Items)),
}
o.ListMeta.DeepCopyInto(&cpy.ListMeta)
for i := 0; i < len(o.Items); i++ {
if item, ok := o.Items[i].Copy().(*Playlist); ok {
cpy.Items[i] = *item
}
}
return cpy
}
func (o *PlaylistList) GetItems() []resource.Object {
items := make([]resource.Object, len(o.Items))
for i := 0; i < len(o.Items); i++ {
items[i] = &o.Items[i]
}
return items
}
func (o *PlaylistList) SetItems(items []resource.Object) {
o.Items = make([]Playlist, len(items))
for i := 0; i < len(items); i++ {
o.Items[i] = *items[i].(*Playlist)
}
}
// Interface compliance compile-time check
var _ resource.ListObject = &PlaylistList{}

View File

@@ -0,0 +1,34 @@
//
// Code generated by grafana-app-sdk. DO NOT EDIT.
//
package v0alpha1
import (
"github.com/grafana/grafana-app-sdk/resource"
)
// schema is unexported to prevent accidental overwrites
var (
schemaPlaylist = resource.NewSimpleSchema("playlist.grafana.app", "v0alpha1", &Playlist{}, &PlaylistList{}, resource.WithKind("Playlist"),
resource.WithPlural("playlists"), resource.WithScope(resource.NamespacedScope))
kindPlaylist = resource.Kind{
Schema: schemaPlaylist,
Codecs: map[resource.KindEncoding]resource.Codec{
resource.KindEncodingJSON: &PlaylistJSONCodec{},
},
}
)
// Kind returns a resource.Kind for this Schema with a JSON codec
func PlaylistKind() resource.Kind {
return kindPlaylist
}
// Schema returns a resource.SimpleSchema representation of Playlist
func PlaylistSchema() *resource.SimpleSchema {
return schemaPlaylist
}
// Interface compliance checks
var _ resource.Schema = kindPlaylist

View File

@@ -0,0 +1,36 @@
package v0alpha1
// Defines values for PlaylistItemType.
const (
PlaylistItemTypeDashboardById PlaylistItemType = "dashboard_by_id"
PlaylistItemTypeDashboardByTag PlaylistItemType = "dashboard_by_tag"
PlaylistItemTypeDashboardByUid PlaylistItemType = "dashboard_by_uid"
)
// PlaylistItem defines model for PlaylistItem.
// +k8s:openapi-gen=true
type PlaylistItem struct {
// type of the item.
Type PlaylistItemType `json:"type"`
// Value depends on type and describes the playlist item.
// - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This
// is not portable as the numerical identifier is non-deterministic between different instances.
// Will be replaced by dashboard_by_uid in the future. (deprecated)
// - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All
// dashboards behind the tag will be added to the playlist.
// - dashboard_by_uid: The value is the dashboard UID
Value string `json:"value"`
}
// PlaylistItemType type of the item.
// +k8s:openapi-gen=true
type PlaylistItemType string
// PlaylistSpec defines model for PlaylistSpec.
// +k8s:openapi-gen=true
type PlaylistSpec struct {
Interval string `json:"interval"`
Items []PlaylistItem `json:"items"`
Title string `json:"title"`
}

View File

@@ -0,0 +1,70 @@
package v0alpha1
// Defines values for PlaylistOperatorStateState.
const (
PlaylistOperatorStateStateFailed PlaylistOperatorStateState = "failed"
PlaylistOperatorStateStateInProgress PlaylistOperatorStateState = "in_progress"
PlaylistOperatorStateStateSuccess PlaylistOperatorStateState = "success"
)
// Defines values for PlayliststatusOperatorStateState.
const (
PlayliststatusOperatorStateStateFailed PlayliststatusOperatorStateState = "failed"
PlayliststatusOperatorStateStateInProgress PlayliststatusOperatorStateState = "in_progress"
PlayliststatusOperatorStateStateSuccess PlayliststatusOperatorStateState = "success"
)
// PlaylistOperatorState defines model for PlaylistOperatorState.
// +k8s:openapi-gen=true
type PlaylistOperatorState struct {
// descriptiveState is an optional more descriptive state field which has no requirements on format
DescriptiveState *string `json:"descriptiveState,omitempty"`
// details contains any extra information that is operator-specific
Details map[string]interface{} `json:"details,omitempty"`
// lastEvaluation is the ResourceVersion last evaluated
LastEvaluation string `json:"lastEvaluation"`
// state describes the state of the lastEvaluation.
// It is limited to three possible states for machine evaluation.
State PlaylistOperatorStateState `json:"state"`
}
// PlaylistOperatorStateState state describes the state of the lastEvaluation.
// It is limited to three possible states for machine evaluation.
// +k8s:openapi-gen=true
type PlaylistOperatorStateState string
// PlaylistStatus defines model for PlaylistStatus.
// +k8s:openapi-gen=true
type PlaylistStatus struct {
// additionalFields is reserved for future use
AdditionalFields map[string]interface{} `json:"additionalFields,omitempty"`
// operatorStates is a map of operator ID to operator state evaluations.
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
OperatorStates map[string]PlayliststatusOperatorState `json:"operatorStates,omitempty"`
}
// PlayliststatusOperatorState defines model for Playliststatus.#OperatorState.
// +k8s:openapi-gen=true
type PlayliststatusOperatorState struct {
// descriptiveState is an optional more descriptive state field which has no requirements on format
DescriptiveState *string `json:"descriptiveState,omitempty"`
// details contains any extra information that is operator-specific
Details map[string]interface{} `json:"details,omitempty"`
// lastEvaluation is the ResourceVersion last evaluated
LastEvaluation string `json:"lastEvaluation"`
// state describes the state of the lastEvaluation.
// It is limited to three possible states for machine evaluation.
State PlayliststatusOperatorStateState `json:"state"`
}
// PlayliststatusOperatorStateState state describes the state of the lastEvaluation.
// It is limited to three possible states for machine evaluation.
// +k8s:openapi-gen=true
type PlayliststatusOperatorStateState string

View File

@@ -0,0 +1,340 @@
//go:build !ignore_autogenerated
// +build !ignore_autogenerated
// Code generated by grafana-app-sdk. DO NOT EDIT.
package v0alpha1
import (
common "k8s.io/kube-openapi/pkg/common"
spec "k8s.io/kube-openapi/pkg/validation/spec"
)
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
return map[string]common.OpenAPIDefinition{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist": schema_playlist_apis_playlist_v0alpha1_Playlist(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem": schema_playlist_apis_playlist_v0alpha1_PlaylistItem(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistList": schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistOperatorState": schema_playlist_apis_playlist_v0alpha1_PlaylistOperatorState(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec": schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus": schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref),
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState": schema_playlist_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref),
}
}
func schema_playlist_apis_playlist_v0alpha1_Playlist(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Properties: map[string]spec.Schema{
"kind": {
SchemaProps: spec.SchemaProps{
Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
Type: []string{"string"},
Format: "",
},
},
"apiVersion": {
SchemaProps: spec.SchemaProps{
Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
Type: []string{"string"},
Format: "",
},
},
"metadata": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
},
},
"spec": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec"),
},
},
"status": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus"),
},
},
},
Required: []string{"metadata", "spec", "status"},
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistSpec", "github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistItem(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "PlaylistItem defines model for PlaylistItem.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"type": {
SchemaProps: spec.SchemaProps{
Description: "type of the item.",
Default: "",
Type: []string{"string"},
Format: "",
},
},
"value": {
SchemaProps: spec.SchemaProps{
Description: "Value depends on type and describes the playlist item.\n - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This\n is not portable as the numerical identifier is non-deterministic between different instances.\n Will be replaced by dashboard_by_uid in the future. (deprecated)\n - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All\n dashboards behind the tag will be added to the playlist.\n - dashboard_by_uid: The value is the dashboard UID",
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"type", "value"},
},
},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistList(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Properties: map[string]spec.Schema{
"kind": {
SchemaProps: spec.SchemaProps{
Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
Type: []string{"string"},
Format: "",
},
},
"apiVersion": {
SchemaProps: spec.SchemaProps{
Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
Type: []string{"string"},
Format: "",
},
},
"metadata": {
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"),
},
},
"items": {
SchemaProps: spec.SchemaProps{
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist"),
},
},
},
},
},
},
Required: []string{"metadata", "items"},
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.Playlist", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "PlaylistOperatorState defines model for PlaylistOperatorState.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"descriptiveState": {
SchemaProps: spec.SchemaProps{
Description: "descriptiveState is an optional more descriptive state field which has no requirements on format",
Type: []string{"string"},
Format: "",
},
},
"details": {
SchemaProps: spec.SchemaProps{
Description: "details contains any extra information that is operator-specific",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Allows: true,
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Format: "",
},
},
},
},
},
"lastEvaluation": {
SchemaProps: spec.SchemaProps{
Description: "lastEvaluation is the ResourceVersion last evaluated",
Default: "",
Type: []string{"string"},
Format: "",
},
},
"state": {
SchemaProps: spec.SchemaProps{
Description: "state describes the state of the lastEvaluation. It is limited to three possible states for machine evaluation.",
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"lastEvaluation", "state"},
},
},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "PlaylistSpec defines model for PlaylistSpec.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"interval": {
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
"items": {
SchemaProps: spec.SchemaProps{
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem"),
},
},
},
},
},
"title": {
SchemaProps: spec.SchemaProps{
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"interval", "items", "title"},
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlaylistItem"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlaylistStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "PlaylistStatus defines model for PlaylistStatus.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"additionalFields": {
SchemaProps: spec.SchemaProps{
Description: "additionalFields is reserved for future use",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Allows: true,
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Format: "",
},
},
},
},
},
"operatorStates": {
SchemaProps: spec.SchemaProps{
Description: "operatorStates is a map of operator ID to operator state evaluations. Any operator which consumes this kind SHOULD add its state evaluation information to this field.",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Allows: true,
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Default: map[string]interface{}{},
Ref: ref("github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState"),
},
},
},
},
},
},
},
},
Dependencies: []string{
"github.com/grafana/grafana/apps/playlist/apis/playlist/v0alpha1.PlayliststatusOperatorState"},
}
}
func schema_playlist_apis_playlist_v0alpha1_PlayliststatusOperatorState(ref common.ReferenceCallback) common.OpenAPIDefinition {
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
Description: "PlayliststatusOperatorState defines model for Playliststatus.#OperatorState.",
Type: []string{"object"},
Properties: map[string]spec.Schema{
"descriptiveState": {
SchemaProps: spec.SchemaProps{
Description: "descriptiveState is an optional more descriptive state field which has no requirements on format",
Type: []string{"string"},
Format: "",
},
},
"details": {
SchemaProps: spec.SchemaProps{
Description: "details contains any extra information that is operator-specific",
Type: []string{"object"},
AdditionalProperties: &spec.SchemaOrBool{
Allows: true,
Schema: &spec.Schema{
SchemaProps: spec.SchemaProps{
Type: []string{"object"},
Format: "",
},
},
},
},
},
"lastEvaluation": {
SchemaProps: spec.SchemaProps{
Description: "lastEvaluation is the ResourceVersion last evaluated",
Default: "",
Type: []string{"string"},
Format: "",
},
},
"state": {
SchemaProps: spec.SchemaProps{
Description: "state describes the state of the lastEvaluation. It is limited to three possible states for machine evaluation.",
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
Required: []string{"lastEvaluation", "state"},
},
},
}
}

38
apps/playlist/go.mod Normal file
View File

@@ -0,0 +1,38 @@
module github.com/grafana/grafana/apps/playlist
go 1.23.1
require (
github.com/grafana/grafana-app-sdk v0.19.0
k8s.io/apimachinery v0.31.1
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
)
require (
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-logr/logr v1.4.2 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/x448/float16 v0.8.4 // indirect
golang.org/x/net v0.29.0 // indirect
golang.org/x/text v0.18.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
)

117
apps/playlist/go.sum Normal file
View File

@@ -0,0 +1,117 @@
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/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
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-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/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/grafana/grafana-app-sdk v0.19.0 h1:RY9HvCFR+4WUy81n53wejZnof9qE6++pd6r24d6+JYs=
github.com/grafana/grafana-app-sdk v0.19.0/go.mod h1:y0BgzYxc+a7CwOqkwUhN9zXd5cgZJjd2zAbgHEd/xzo=
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/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
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/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
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.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
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/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
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-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
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-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
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.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
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/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
gopkg.in/yaml.v2 v2.2.8/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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

View File

@@ -0,0 +1 @@
module: "github.com/grafana/grafana/apps/playlist/kinds"

View File

@@ -0,0 +1,39 @@
package core
externalName: {
kind: "Playlist"
group: "playlist"
apiResource: {
groupOverride: "playlist.grafana.app"
}
codegen: {
frontend: false
backend: true
}
pluralName: "Playlists"
current: "v0alpha1"
versions: {
"v0alpha1": {
schema: {
#Item: {
// type of the item.
type: "dashboard_by_tag" | "dashboard_by_uid" | "dashboard_by_id" @cuetsy(kind="enum")
// Value depends on type and describes the playlist item.
// - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This
// is not portable as the numerical identifier is non-deterministic between different instances.
// Will be replaced by dashboard_by_uid in the future. (deprecated)
// - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All
// dashboards behind the tag will be added to the playlist.
// - dashboard_by_uid: The value is the dashboard UID
value: string
}
spec: {
title: string
interval: string
items: [...#Item]
}
}
}
}
}

View File

@@ -65,6 +65,7 @@ enable_gzip = false
# https certs & key file
cert_file =
cert_key =
cert_pass =
# Certificates file watch interval
certs_watch_interval =
@@ -312,6 +313,9 @@ application_insights_endpoint_url =
# Controls if the UI contains any links to user feedback forms
feedback_links_enabled = true
# Static context that is being added to analytics events
reporting_static_context =
#################################### Security ############################
[security]
# disable creation of admin user on first start of grafana
@@ -402,6 +406,9 @@ csrf_always_check = false
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
disable_frontend_sandbox_for_plugins = grafana-incident-app
# Comma-separated list of paths for POST/PUT URL in actions. Empty will allow anything that is not on the same origin
actions_allow_post_url =
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
@@ -425,9 +432,6 @@ external_snapshot_name = Publish to snapshots.raintank.io
# creating and deleting snapshots.
public_mode = false
# remove expired snapshot
snapshot_remove_expired = true
#################################### Dashboards ##################
[dashboards]
@@ -519,6 +523,9 @@ user_invite_max_lifetime_duration = 24h
# The duration in time a verification email, used to update the email address of a user, remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 1h (1 hour).
verification_email_max_lifetime_duration = 1h
# Frequency of updating a user's last seen time. The minimum supported duration is 5m (5 minutes). The maximum supported duration is 1h (1 hour)
last_seen_update_interval = 15m
# Enter a comma-separated list of usernames to hide them in the Grafana UI. These users are shown to Grafana admins and to themselves.
hidden_users =
@@ -575,6 +582,16 @@ oauth_auto_login = false
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
oauth_state_cookie_max_age = 600
# Sets a custom oAuth error message. This is useful if you need to point the users to a specific location for support.
oauth_login_error_message = oauth.login.error
# Minimum wait time in milliseconds for the server lock retry mechanism.
# The server lock retry mechanism is used to prevent multiple Grafana instances from
# simultaneously refreshing OAuth tokens. This mechanism waits at least this amount
# of time before retrying to acquire the server lock. There are 5 retries in total.
# The wait time between retries is calculated as random(n, n + 500)
oauth_refresh_token_server_lock_min_wait_ms = 1000
# limit of api_key seconds to live before expiration
api_key_max_seconds_to_live = -1
@@ -601,6 +618,10 @@ id_response_header_prefix = X-Grafana
# The header value will encode the namespace ("user:<id>", "api-key:<id>", "service-account:<id>")
id_response_header_namespaces = user api-key service-account
# Enables the use of managed service accounts for plugin authentication
# This feature currently **only supports single-organization deployments**
managed_service_accounts_enabled = false
#################################### SSO Settings ###########################
[sso_settings]
# interval for reloading the SSO Settings from the database
@@ -756,6 +777,7 @@ allowed_domains =
allowed_groups =
allowed_organizations =
role_attribute_strict = false
org_mapping =
allow_assign_grafana_admin = false
force_use_graph_api = false
tls_skip_verify_insecure = false
@@ -990,6 +1012,10 @@ username_assertion =
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
# Specifies whether Entra password auth can be used for the MSSQL data source
# Disabled by default, needs to be explicitly enabled
azure_entra_password_credentials_enabled = false
#################################### Role-based Access Control ###########
[rbac]
# If enabled, cache permissions in a in memory cache
@@ -1108,6 +1134,9 @@ instrumentations_console_enabled = false
# Should webvitals instrumentation be enabled, only affects Grafana Javascript Agent
instrumentations_webvitals_enabled = false
# Should tracing instrumentation be enabled, only affects Grafana Javascript Agent
instrumentations_tracing_enabled = false
# level of internal logging for debugging Grafana Javascript Agent.
# possible values are: 0 = OFF, 1 = ERROR, 2 = WARN, 3 = INFO, 4 = VERBOSE
# more details: https://github.com/grafana/faro-web-sdk/blob/v1.3.7/docs/sources/tutorials/quick-start-browser.md#how-to-activate-debugging
@@ -1167,6 +1196,11 @@ global_correlations = -1
# This is not strictly enforced yet, but will be enforced over time.
alerting_rule_group_rules = 100
# Limit the number of query evaluation results per alert rule.
# If the condition query of an alert rule produces more results than this limit,
# the evaluation results in an error.
alerting_rule_evaluation_results = -1
#################################### Unified Alerting ####################
[unified_alerting]
# Enable the Alerting sub-system and interface.
@@ -1175,6 +1209,9 @@ enabled =
# Comma-separated list of organization IDs for which to disable unified alerting. Only supported if unified alerting is enabled.
disabled_orgs =
# Specify how long to wait for the alerting service to initialize
initialization_timeout = 30s
# Specify the frequency of polling for admin config changes.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
admin_config_poll_interval = 60s
@@ -1183,6 +1220,12 @@ admin_config_poll_interval = 60s
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
alertmanager_config_poll_interval = 60s
# Maximum number of active and pending silences that a tenant can have at once. Default: 0 (no limit).
alertmanager_max_silences_count =
# Maximum silence size in bytes. Default: 0 (no limit).
alertmanager_max_silence_size_bytes =
# Set to true when using redis in cluster mode.
ha_redis_cluster_mode_enabled = false
@@ -1264,6 +1307,10 @@ ha_label =
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
ha_gossip_interval = 200ms
# Length of time to attempt to reconnect to a lost peer. Recommended to be short (<15m) when Grafana is running in a Kubernetes cluster.
# The string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
ha_reconnect_timeout = 6h
# The interval between gossip full state syncs. Setting this interval lower (more frequent) will increase convergence speeds
# across larger clusters at the expense of increased bandwidth usage.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
@@ -1299,6 +1346,14 @@ disable_jitter = false
# Retention period for Alertmanager notification log entries.
notification_log_retention = 5d
# Duration for which a resolved alert state transition will continue to be sent to the Alertmanager.
resolved_alert_retention = 15m
# Defines the limit of how many alert rule versions
# should be stored in the database for each alert rule in an organization including the current one.
# 0 value means no limit
rule_version_record_limit = 0
[unified_alerting.screenshots]
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
@@ -1376,6 +1431,12 @@ loki_basic_auth_password =
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
loki_max_query_length = 721h
# For "loki" only.
# Maximum size in bytes for queries sent to Loki. This limit is applied to user provided filters as well as system defined ones, e.g. applied by access control.
# If filter exceeds the limit, API returns error with code "alerting.state-history.loki.requestTooLong".
# Default is 64kb
loki_max_query_size = 65536
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1394,6 +1455,26 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
[recording_rules]
# Enable recording rules. You must provide write credentials below.
enabled = false
# Target URL (including write path) for recording rules.
url =
# Optional username for basic authentication on recording rule write requests. Can be left blank to disable basic auth
basic_auth_username =
# Optional assword for basic authentication on recording rule write requests. Can be left blank.
basic_auth_password =
# Request timeout for recording rule writes.
timeout = 10s
# Optional custom headers to include in recording rule write requests.
[recording_rules.custom_headers]
# exampleHeader = exampleValue
# NOTE: this configuration options are not used yet.
[remote.alertmanager]
@@ -1451,6 +1532,9 @@ max_annotations_to_keep =
# Enable the Explore section
enabled = true
# set the default offset for the time picker
defaultTimeOffset = 1h
#################################### Help #############################
[help]
# Enable the Help section
@@ -1484,8 +1568,8 @@ expire_time = 7
#################################### Internal Grafana Metrics ############
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
enabled = true
interval_seconds = 10
enabled = true
interval_seconds = 10
# Disable total stats (stat_totals_*) metrics to be generated
disable_total_stats = false
# The interval at which the total stats collector will update the stats. Default is 1800 seconds.
@@ -1663,6 +1747,12 @@ install_token =
hide_angular_deprecation =
# Comma separated list of plugin ids for which environment variables should be forwarded. Used only when feature flag pluginsSkipHostEnvVars is enabled.
forward_host_env_vars =
# Comma separated list of plugin ids to install as part of the startup process.
preinstall = grafana-lokiexplore-app
# Controls whether preinstall plugins asynchronously (in the background) or synchronously (blocking). Useful when preinstalled plugins are used with provisioning.
preinstall_async = true
# Disables preinstall feature. It has the same effect as setting preinstall to an empty list.
preinstall_disabled = false
#################################### Grafana Live ##########################################
[live]
@@ -1689,6 +1779,9 @@ ha_engine_address = "127.0.0.1:6379"
# ha_engine_password allows setting an optional password to authenticate with the engine
ha_engine_password = ""
# ha_prefix is a prefix for keys in the HA engine. It's used to separate keys for different Grafana instances.
ha_prefix =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
@@ -1890,6 +1983,16 @@ enabled = true
is_target = false
# Token used to send requests to grafana com
gcom_api_token = ""
# How long to wait for a request sent to gms to start a snapshot to complete
start_snapshot_timeout = 5s
# How long to wait for a request sent to gms to validate a key to complete
validate_key_timeout = 5s
# How long to wait for a request sent to gms to get a snapshot status to complete
get_snapshot_status_timeout = 5s
# How long to wait for a request sent to gms to create a presigned upload url
create_upload_url_timeout = 5s
# How long to wait for a request sent to gms to report an event
report_event_timeout = 5s
# How long to wait for a request to fetch an instance to complete
fetch_instance_timeout = 5s
# How long to wait for a request to create an access policy to complete
@@ -1899,4 +2002,21 @@ fetch_access_policy_timeout = 5s
# How long to wait for a request to create to delete an access policy to complete
delete_access_policy_timeout = 5s
# The domain name used to access cms
domain = grafana-dev.net
domain = grafana.net
# Folder used to store snapshot files. Defaults to the home dir
snapshot_folder = ""
# Link to form to give feedback on the feature
feedback_url = https://docs.google.com/forms/d/e/1FAIpQLSeEE33vhbSpR8A8S1A1ocZ1ByVRRwiRl1GZr2FSrEer_tSa8w/viewform?usp=sf_link
# How frequently should the frontend UI poll for changes while resources are migrating
frontend_poll_interval = 2s
################################## Frontend development configuration ###################################
# Warning! Any settings placed in this section will be available on `process.env.frontend_dev_{foo}` within frontend code
# Any values placed here may be accessible to the UI. Do not place sensitive information here.
[frontend_dev]
# Should UI tests fail when console log/warn/erroring?
# Does not affect the result when running on CI - only for allowing devs to choose this behaviour locally
fail_tests_on_console = true
# Whether or not to enable the MSW mock API, which intercepts requests and returns mock data
# Should only be used for local development or demo purposes
mock_api = false

View File

@@ -11,10 +11,11 @@ port = 389
use_ssl = false
# If set to true, use LDAP with STARTTLS instead of LDAPS
start_tls = false
# The value of an accepted TLS cipher. By default, this value is empty. Example value: ["TLS_AES_256_GCM_SHA384"])
# The value of an accepted TLS cipher. By default, this value is empty. Example value: ["TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"])
# For a complete list of supported ciphers and TLS versions, refer to: https://go.dev/src/crypto/tls/cipher_suites.go
# Starting with Grafana v11.0 only ciphers with ECDHE support are accepted for TLS 1.2 connections.
tls_ciphers = []
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.1, TLS1.2, TLS1.3.
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.1 (only for Grafana v10.4 or older), TLS1.2, TLS1.3.
min_tls_version = ""
# set to true if you want to skip ssl cert validation
ssl_skip_verify = false

View File

@@ -31,13 +31,13 @@
# Protocol (http, https, h2, socket)
;protocol = http
# This is the minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
# Minimum TLS version allowed. By default, this value is empty. Accepted values are: TLS1.2, TLS1.3. If nothing is set TLS1.2 would be taken
;min_tls_version = ""
# The ip address to bind to, empty will bind to all interfaces
;http_addr =
# The http port to use
# The http port to use
;http_port = 3000
# The public facing domain name used to access grafana from a browser
@@ -67,6 +67,9 @@
;cert_file =
;cert_key =
# optional password to be used to decrypt key file
;cert_pass =
# Certificates file watch interval
;certs_watch_interval =
@@ -94,6 +97,10 @@
#exampleHeader1 = exampleValue1
#exampleHeader2 = exampleValue2
[environment]
# Sets whether the local file system is available for Grafana to use. Default is true for backward compatibility.
;local_file_system_available = true
#################################### GRPC Server #########################
;[grpc_server]
;network = "tcp"
@@ -103,6 +110,8 @@
;key_file =
;max_recv_msg_size =
;max_send_msg_size =
# this will log the request and response for each unary gRPC call
;enable_logging = false
#################################### Database ####################################
[database]
@@ -116,11 +125,22 @@
;user = root
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
;password =
# Use either URL or the previous fields to configure the database
# Example: mysql://user:secret@host:port/database
;url =
# Max idle conn setting default is 2
;max_idle_conn = 2
# Max conn setting default is 0 (mean not set)
;max_open_conn =
# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
;conn_max_lifetime = 14400
# Set to true to log the sql calls and execution times.
;log_queries =
# For "postgres", use either "disable", "require" or "verify-full"
# For "mysql", use either "true", "false", or "skip-verify".
;ssl_mode = disable
@@ -142,18 +162,6 @@
# For "sqlite3" only, path relative to data_path setting
;path = grafana.db
# Max idle conn setting default is 2
;max_idle_conn = 2
# Max conn setting default is 0 (mean not set)
;max_open_conn =
# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
;conn_max_lifetime = 14400
# Set to true to log the sql calls and execution times.
;log_queries =
# For "sqlite3" only. cache mode setting used for connecting to the database. (private, shared)
;cache_mode = private
@@ -175,11 +183,6 @@
# Set to true to add metrics and tracing for database queries.
;instrument_queries = false
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
;datasource_limit = 5000
#################################### Cache server #############################
[remote_cache]
# Either "redis", "memcached" or "database" default is "database"
@@ -300,9 +303,18 @@
# Intercom secret, optional, used to hash user_id before passing to Intercom via Rudderstack
;intercom_secret =
# Application Insights connection string. Specify an URL string to enable this feature.
;application_insights_connection_string =
# Optional. Specifies an Application Insights endpoint URL where the endpoint string is wrapped in backticks ``.
;application_insights_endpoint_url =
# Controls if the UI contains any links to user feedback forms
;feedback_links_enabled = true
# Static context that is being added to analytics events
;reporting_static_context = grafanaInstance=12, os=linux
#################################### Security ####################################
[security]
# disable creation of admin user on first start of grafana
@@ -383,6 +395,7 @@
# $NONCE in the template includes a random nonce.
# $ROOT_PATH is server.root_url without the protocol.
;content_security_policy_report_only_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
# Controls if old angular plugins are supported or not.
;angular_support_enabled = false
@@ -398,6 +411,9 @@
# Comma-separated list of plugins ids that won't be loaded inside the frontend sandbox
;disable_frontend_sandbox_for_plugins =
# Comma-separated list of paths for POST/PUT URL in actions. Empty will allow anything that is not on the same origin
;actions_allow_post_url =
[security.encryption]
# Defines the time-to-live (TTL) for decrypted data encryption keys stored in memory (cache).
# Please note that small values may cause performance issues due to a high frequency decryption operations.
@@ -421,10 +437,7 @@
# creating and deleting snapshots.
;public_mode = false
# remove expired snapshot
;snapshot_remove_expired = true
#################################### Dashboards History ##################
#################################### Dashboards ##################
[dashboards]
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
;versions_to_keep = 20
@@ -436,6 +449,30 @@
# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
;default_home_dashboard_path =
################################### Data sources #########################
[datasources]
# Upper limit of data sources that Grafana will return. This limit is a temporary configuration and it will be deprecated when pagination will be introduced on the list data sources API.
;datasource_limit = 5000
# Number of queries to be executed concurrently. Only for the datasource supports concurrency.
# For now only Loki and InfluxDB (with influxql) are supporting concurrency behind the feature flags.
# Check datasource documentations for enabling concurrency.
;concurrent_query_count = 10
################################### SQL Data Sources #####################
[sql_datasources]
# Default maximum number of open connections maintained in the connection pool
# when connecting to SQL based data sources
;max_open_conns_default = 100
# Default maximum number of idle connections maintained in the connection pool
# when connecting to SQL based data sources
;max_idle_conns_default = 100
# Default maximum connection lifetime used when connecting
# to SQL based data sources.
;max_conn_lifetime_default = 14400
#################################### Users ###############################
[users]
# disable user signup / registration
@@ -463,7 +500,7 @@
;login_hint = email or username
;password_hint = password
# Default UI theme ("dark" or "light")
# Default UI theme ("dark", "light" or "system")
;default_theme = dark
# Default UI language (supported IETF language tag, such as en-US)
@@ -489,6 +526,9 @@
# The duration in time a verification email, used to update the email address of a user, remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 1h (1 hour).
;verification_email_max_lifetime_duration = 1h
# Frequency of updating a user's last seen time. The minimum supported duration is 5m (5 minutes). The maximum supported duration is 1h (1 hour).
;last_seen_update_interval = 15m
# Enter a comma-separated list of users login to hide them in the Grafana UI. These users are shown to Grafana admins and themselves.
; hidden_users =
@@ -543,9 +583,19 @@
# Deprecated, use auto_login option for specific provider instead.
;oauth_auto_login = false
# Sets a custom oAuth error message. This is useful if you need to point the users to a specific location for support.
;oauth_login_error_message = oauth.login.error
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
;oauth_state_cookie_max_age = 600
# Minimum wait time in milliseconds for the server lock retry mechanism.
# The server lock retry mechanism is used to prevent multiple Grafana instances from
# simultaneously refreshing OAuth tokens. This mechanism waits at least this amount
# of time before retrying to acquire the server lock. There are 5 retries in total.
# The wait time between retries is calculated as random(n, n + 500)
; oauth_refresh_token_server_lock_min_wait_ms = 1000
# limit of api_key seconds to live before expiration
;api_key_max_seconds_to_live = -1
@@ -558,9 +608,6 @@
# Set to true to enable Azure authentication option for HTTP-based datasources.
;azure_auth_enabled = false
# Set to skip the organization role from JWT login and use system's role assignment instead.
; skip_org_role_sync = false
# Use email lookup in addition to the unique ID provided by the IdP
;oauth_allow_insecure_email_lookup = false
@@ -575,6 +622,10 @@
# The header value will encode the namespace ("user:<id>", "api-key:<id>", "service-account:<id>")
;id_response_header_namespaces = user api-key service-account
# Enables the use of managed service accounts for plugin authentication
# This feature currently **only supports single-organization deployments**
; managed_service_accounts_enabled = false
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
@@ -589,6 +640,9 @@
# mask the Grafana version number for unauthenticated users
;hide_version = false
# number of devices in total
;device_limit =
#################################### GitHub Auth ##########################
[auth.github]
;name = GitHub
@@ -611,6 +665,12 @@
;org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
# GitHub OAuth apps does not provide refresh tokens and the access tokens never expires.
;use_refresh_token = false
#################################### GitLab Auth #########################
[auth.gitlab]
@@ -638,6 +698,7 @@
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Google Auth ##########################
[auth.google]
@@ -662,7 +723,12 @@
;org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Grafana.com Auth ####################
[auth.grafana_com]
@@ -676,6 +742,7 @@
;scopes = user:email
;allowed_organizations =
;skip_org_role_sync = false
;use_refresh_token = false
#################################### Azure AD OAuth #######################
[auth.azuread]
@@ -694,10 +761,12 @@
;allowed_groups =
;allowed_organizations =
;role_attribute_strict = false
;org_mapping =
;allow_assign_grafana_admin = false
;use_pkce = true
# prevent synchronizing users organization roles
;skip_org_role_sync = false
;use_refresh_token = true
#################################### Okta OAuth #######################
[auth.okta]
@@ -720,12 +789,18 @@
; org_mapping =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;tls_skip_verify_insecure = false
;tls_client_cert =
;tls_client_key =
;tls_client_ca =
;use_pkce = true
;use_refresh_token = true
#################################### Generic OAuth ##########################
[auth.generic_oauth]
;enabled = false
;name = OAuth
;icon = signin
;enabled = false
;allow_sign_up = true
;auto_login = false
;client_id = some_id
@@ -736,7 +811,11 @@
;email_attribute_path =
;login_attribute_path =
;name_attribute_path =
;role_attribute_path =
;role_attribute_strict = false
;groups_attribute_path =
;id_token_attribute_name =
;team_ids_attribute_path
;auth_url = https://foo.bar/login/oauth/authorize
;token_url = https://foo.bar/login/oauth/access_token
;api_url = https://foo.bar/user
@@ -745,11 +824,8 @@
;allowed_domains =
;team_ids =
;allowed_organizations =
;role_attribute_path =
;role_attribute_strict = false
;org_attribute_path =
;org_mapping =
;groups_attribute_path =
;team_ids_attribute_path =
;tls_skip_verify_insecure = false
;tls_client_cert =
@@ -758,6 +834,8 @@
;use_pkce = false
;auth_style =
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;use_refresh_token = false
#################################### Basic Auth ##########################
[auth.basic]
@@ -781,6 +859,7 @@
#################################### Auth JWT ##########################
[auth.jwt]
;enabled = true
;enable_login_token = false
;header_name = X-JWT-Assertion
;email_claim = sub
;username_claim = sub
@@ -794,11 +873,13 @@
# Use in conjunction with key_file in case the JWT token's header specifies a key ID in "kid" field
;key_id = some-key-id
;role_attribute_path =
;groups_attribute_path =
;role_attribute_strict = false
;groups_attribute_path =
;auto_sign_up = false
;url_login = false
;allow_assign_grafana_admin = false
;skip_org_role_sync = false
;signout_redirect_url =
#################################### Auth LDAP ##########################
[auth.ldap]
@@ -920,6 +1001,10 @@
# By default this will include all Grafana Labs owned Azure plugins, or those that make use of Azure settings (Azure Monitor, Azure Data Explorer, Prometheus, MSSQL).
;forward_settings_to_plugins = grafana-azure-monitor-datasource, prometheus, grafana-azure-data-explorer-datasource, mssql
# Specifies whether Entra password auth can be used for the MSSQL data source
# Disabled by default, needs to be explicitly enabled
;azure_entra_password_credentials_enabled = false
#################################### Role-based Access Control ###########
[rbac]
;permission_cache = true
@@ -1042,6 +1127,9 @@
# Should webvitals instrumentation be enabled, only affects Grafana Javascript Agent
;instrumentations_webvitals_enabled = false
# Should tracing instrumentation be enabled, only affects Grafana Javascript Agent
;instrumentations_tracing_enabled = false
# Api Key, only applies to Grafana Javascript Agent provider
;api_key = testApiKey
@@ -1086,6 +1174,9 @@
# global limit of alerts
;global_alert_rule = -1
# global limit of files uploaded to the SQL DB
;global_file = 1000
# global limit of correlations
; global_correlations = -1
@@ -1093,6 +1184,11 @@
# This is not strictly enforced yet, but will be enforced over time.
;alerting_rule_group_rules = 100
# Limit the number of query evaluation results per alert rule.
# If the condition query of an alert rule produces more results than this limit,
# the evaluation results in an error.
;alerting_rule_evaluation_results = -1
#################################### Unified Alerting ####################
[unified_alerting]
#Enable the Unified Alerting sub-system and interface. When enabled we'll migrate all of your alert rules and notification channels to the new system. New alert rules will be created and your notification channels will be converted into an Alertmanager configuration. Previous data is preserved to enable backwards compatibility but new data is removed.```
@@ -1101,6 +1197,9 @@
# Comma-separated list of organization IDs for which to disable unified alerting. Only supported if unified alerting is enabled.
;disabled_orgs =
# Specify how long to wait for the alerting service to initialize
;initialization_timeout = 30s
# Specify the frequency of polling for admin config changes.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;admin_config_poll_interval = 60s
@@ -1109,6 +1208,13 @@
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;alertmanager_config_poll_interval = 60s
# Maximum number of active and pending silences that a tenant can have at once. Default: 0 (no limit).
;alertmanager_max_silences_count =
# Maximum silence size in bytes. Default: 0 (no limit).
;alertmanager_max_silence_size_bytes =
# Set to true when using redis in cluster mode.
;ha_redis_cluster_mode_enabled = false
@@ -1190,6 +1296,10 @@
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;ha_gossip_interval = "200ms"
# Length of time to attempt to reconnect to a lost peer. Recommended to be short (<15m) when Grafana is running in a Kubernetes cluster.
# The string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
;ha_reconnect_timeout = 6h
# The interval between gossip full state syncs. Setting this interval lower (more frequent) will increase convergence speeds
# across larger clusters at the expense of increased bandwidth usage.
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
@@ -1225,6 +1335,43 @@
# Retention period for Alertmanager notification log entries.
;notification_log_retention = 5d
# Duration for which a resolved alert state transition will continue to be sent to the Alertmanager.
;resolved_alert_retention = 15m
# Defines the limit of how many alert rule versions
# should be stored in the database for each alert rule in an organization including the current one.
# 0 value means no limit
;rule_version_record_limit= 0
[unified_alerting.screenshots]
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
# plugin, or set up Grafana to use a remote rendering service.
# For more information on configuration options, refer to [rendering].
;capture = false
# The timeout for capturing screenshots. If a screenshot cannot be captured within the timeout then
# the notification is sent without a screenshot. The maximum duration is 30 seconds. This timeout
# should be less than the minimum Interval of all Evaluation Groups to avoid back pressure on alert
# rule evaluation.
;capture_timeout = 10s
# The maximum number of screenshots that can be taken at the same time. This option is different from
# concurrent_render_request_limit as max_concurrent_screenshots sets the number of concurrent screenshots
# that can be taken at the same time for all firing alerts where as concurrent_render_request_limit sets
# the total number of concurrent screenshots across all Grafana services.
;max_concurrent_screenshots = 5
# Uploads screenshots to the local Grafana server or remote storage such as Azure, S3 and GCS. Please
# see [external_image_storage] for further configuration options. If this option is false then
# screenshots will be persisted to disk for up to temp_data_lifetime.
;upload_external_image_storage = false
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
disabled_labels =
[unified_alerting.reserved_labels]
# Comma-separated list of reserved labels added by the Grafana Alerting engine that should be disabled.
# For example: `disabled_labels=grafana_folder`
@@ -1279,6 +1426,12 @@
# Optional max query length for queries sent to Loki. Default is 721h which matches the default Loki value.
; loki_max_query_length = 360h
# For "loki" only.
# Maximum size in bytes for queries sent to Loki. This limit is applied to user provided filters as well as system defined ones, e.g. applied by access control.
# If filter exceeds the limit, API returns error with code "alerting.state-history.loki.requestTooLong".
# Default is 64kb
;loki_max_query_size = 65536
[unified_alerting.state_history.external_labels]
# Optional extra labels to attach to outbound state history records or log streams.
# Any number of label key-value-pairs can be provided.
@@ -1295,6 +1448,27 @@ max_age =
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
max_annotations_to_keep =
#################################### Recording Rules #####################
[recording_rules]
# Enable recording rules. You must provide write credentials below.
enabled = false
# Target URL (including write path) for recording rules.
url =
# Optional username for basic authentication on recording rule write requests. Can be left blank to disable basic auth
basic_auth_username =
# Optional assword for basic authentication on recording rule write requests. Can be left blank.
basic_auth_password =
# Request timeout for recording rule writes.
timeout = 30s
# Optional custom headers to include in recording rule write requests.
[recording_rules.custom_headers]
# exampleHeader = exampleValue
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
@@ -1355,6 +1529,11 @@ max_annotations_to_keep =
# Enable the Query history
;enabled = true
#################################### Short Links #############################
[short_links]
# Short links which are never accessed will be deleted as cleanup. Time is in days. Default is 7 days. Max is 365. 0 means they will be deleted approximately every 10 minutes.
;expire_time = 7
#################################### Internal Grafana Metrics ##########################
# Metrics available at HTTP URL /metrics and /metrics/plugins/:pluginId
[metrics]
@@ -1462,14 +1641,16 @@ max_annotations_to_keep =
[external_image_storage.webdav]
;url =
;public_url =
;username =
;password =
;public_url =
[external_image_storage.gcs]
;key_file =
;bucket =
;path =
;enable_signed_urls = false
;signed_url_expiration =
[external_image_storage.azure_blob]
;account_name =
@@ -1496,6 +1677,12 @@ max_annotations_to_keep =
# Default is 5m. This should be more than enough for most deployments.
# Change the value only if image rendering is failing and you see `Failed to get the render key from cache` in Grafana logs.
;render_key_lifetime = 5m
# Default width for panel screenshot
;default_image_width = 1000
# Default height for panel screenshot
;default_image_height = 500
# Default scale for panel screenshot
;default_image_scale = 1
[panels]
# If set to true Grafana will allow script tags in text panels. Not recommended as it enable XSS vulnerabilities.
@@ -1546,6 +1733,9 @@ max_annotations_to_keep =
# ha_engine_password allows setting an optional password to authenticate with the engine
;ha_engine_password = ""
# ha_prefix is a prefix for keys in the HA engine. It's used to separate keys for different Grafana instances.
;ha_prefix =
#################################### Grafana Image Renderer Plugin ##########################
[plugin.grafana-image-renderer]
# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
@@ -1575,6 +1765,10 @@ max_annotations_to_keep =
# Default is false. This can be useful to enable (true) when troubleshooting.
;rendering_dumpio =
# Instruct headless browser instance whether to register metrics for the duration of every rendering step. Default is false.
# This can be useful to enable (true) when optimizing the rendering mode settings to improve the plugin performance or when troubleshooting.
;rendering_timing_metrics =
# Additional arguments to pass to the headless browser instance. Default is --no-sandbox. The list of Chromium flags can be found
# here (https://peter.sh/experiments/chromium-command-line-switches/). Multiple arguments is separated with comma-character.
;rendering_args =
@@ -1608,14 +1802,6 @@ max_annotations_to_keep =
;grpc_host =
;grpc_port =
[support_bundles]
# Enable support bundle creation (default: true)
#enabled = true
# Only server admins can generate and view support bundles (default: true)
#server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
#public_keys = ""
[enterprise]
# Path to a valid Grafana Enterprise license.jwt file
;license_path =
@@ -1668,6 +1854,15 @@ max_annotations_to_keep =
# Enable or disable loading other base map layers
;enable_custom_baselayers = true
#################################### Support Bundles #####################################
[support_bundles]
# Enable support bundle creation (default: true)
#enabled = true
# Only server admins can generate and view support bundles (default: true)
#server_admin_only = true
# If set, bundles will be encrypted with the provided public keys separated by whitespace
#public_keys = ""
# Move an app plugin referenced by its id (including all its pages) to a specific navigation section
[navigation.app_sections]
# The following will move an app plugin with the id of `my-app-id` under the `cfg` section
@@ -1708,3 +1903,44 @@ max_annotations_to_keep =
[public_dashboards]
# Set to false to disable public dashboards
;enabled = true
###################################### Cloud Migration ######################################
[cloud_migration]
# Set to true to enable target-side migration UI
;is_target = false
# Token used to send requests to grafana com
;gcom_api_token = ""
# How long to wait for a request sent to gms to start a snapshot to complete
;start_snapshot_timeout = 5s
# How long to wait for a request sent to gms to validate a key to complete
;validate_key_timeout = 5s
# How long to wait for a request sent to gms to get a snapshot status to complete
;get_snapshot_status_timeout = 5s
# How long to wait for a request sent to gms to create a presigned upload url
;create_upload_url_timeout = 5s
# How long to wait for a request sent to gms to report an event
;report_event_timeout = 5s
# How long to wait for a request to fetch an instance to complete
;fetch_instance_timeout = 5s
# How long to wait for a request to create an access policy to complete
;create_access_policy_timeout = 5s
# How long to wait for a request to create to fetch an access policy to complete
;fetch_access_policy_timeout = 5s
# How long to wait for a request to create to delete an access policy to complete
;delete_access_policy_timeout = 5s
# The domain name used to access cms
;domain = grafana-dev.net
# Folder used to store snapshot files. Defaults to the home dir
;snapshot_folder = ""
# Link to form to give feedback on the feature
;feedback_url = ""
# How frequently should the frontend UI poll for changes while resources are migrating
;frontend_poll_interval = 2s
################################## Frontend development configuration ###################################
# Warning! Any settings placed in this section will be available on `process.env.frontend_dev_{foo}` within frontend code
# Any values placed here may be accessible to the UI. Do not place sensitive information here.
[frontend_dev]
# Should UI tests fail when console log/warn/erroring?
# Does not affect the result when running on CI - only for allowing devs to choose this behaviour locally
; fail_tests_on_console = true

View File

@@ -270,17 +270,17 @@ In case there is an uncertainty around the prioritization of an issue, please as
1. If applicable, label the issue `priority/support-subscription`.
1. Add the issue to the next upcoming patch or major/minor stable release milestone. Ask maintainers for help if unsure if it's a patch or not. Create a new milestone if there are none.
1. Make sure to add the issue to a suitable backlog of a GitHub project and prioritize it or assign someone to work on it now or very soon.
1. Consider requesting [help from the community](#5-requesting-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
1. Consider requesting [help from the community](#5-request-help-from-the-community), even though it may be problematic given a short amount of time until it should be released.
**Important long-term**
1. Label the issue `priority/important-longterm`.
1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
1. Consider requesting [help from the community](#5-request-help-from-the-community).
**Nice to have**
1. Label the issue `priority/nice-to-have`.
1. Consider requesting [help from the community](#5-requesting-help-from-the-community).
1. Consider requesting [help from the community](#5-request-help-from-the-community).
**Not critical, but unsure?**

View File

@@ -1,9 +1,6 @@
# Architecture
Are you looking to take on contributions with bigger impact? These guides help you get a better understanding of the structure and design of the Grafana codebase.
Do you want to make Grafana contributions with bigger impact? These guides help you get a better understanding of the structure and design of the Grafana codebase.
Learn more about the backend architecture in [contribute/backend](/contribute/backend/README.md).
Learn more about the frontend architecture:
- Part 1: [Data requests](frontend-data-requests.md)
- To learn more about the frontend architecture, refer to [Frontend data requests](frontend-data-requests.md).
- To learn more about the backend architecture, refer to [contribute/backend](/contribute/backend/README.md).

View File

@@ -1,16 +1,18 @@
# Data requests
# Frontend data requests
[BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts) handles all outgoing HTTP requests from Grafana. This document explains the high-level concepts used by `BackendSrv`.
## Canceling requests
## Cancel requests
This section describes how canceling requests work in Grafana. While data sources can implement their own cancellation concept, we recommend that you use the method we describe here.
While data sources can implement their own cancellation concept, we recommend that you use the method described in this section.
A data request can take a long time to finish. During the time between when a request starts and finishes, the user can change context. For example, the user may navigate away or issue the same request again.
If we wait for canceled requests to complete, it might create unnecessary load on data sources.
If we wait for canceled requests to complete, they might create unnecessary load on the data sources.
Grafana uses a concept called _request cancellation_ to cancel any ongoing request that Grafana doesn't need.
### Request cancellation by Grafana version
Grafana uses a concept called _request cancellation_ to cancel any ongoing request that Grafana doesn't need. The process for canceling requests in this manner varies by Grafana version.
#### Before Grafana 7.2
@@ -25,22 +27,22 @@ The cancellation logic is as follows:
Grafana 7.2 introduced an additional way of canceling requests using [RxJs](https://github.com/ReactiveX/rxjs). To support the new cancellation functionality, the data source needs to use the new `fetch` function in [BackendSrv](https://github.com/grafana/grafana/blob/main/packages/grafana-runtime/src/services/backendSrv.ts).
Migrating the core data sources to the new `fetch` function [is an ongoing process that you can read about in this issue.](https://github.com/grafana/grafana/issues/27222)
Migrating the core data sources to the new `fetch` function is an ongoing process. To learn more, refer to [this issue](https://github.com/grafana/grafana/issues/27222).
## Request queue
If Grafana isn't configured to support HTTP/2, browsers connecting with HTTP 1.1 enforce a limit of 4 - 8 parallel requests (the specific limit varies). Because of this limit, if some requests take a long time, they will block later requests and make interacting with Grafana very slow.
If Grafana isn't configured to support HTTP/2, browsers connecting with HTTP 1.1 enforce a limit of 4 to 8 parallel requests (the specific limit varies). Because of this limit, if some requests take a long time, they will block later requests and make interacting with Grafana very slow.
[Enabling HTTP/2 support in Grafana](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) allows far more parallel requests.
#### Before Grafana 7.2
### Before Grafana 7.2
Not supported.
#### After Grafana 7.2
### After Grafana 7.2
Grafana uses a _request queue_ to process all incoming data requests in order while reserving a free "spot" for any requests to the Grafana API.
Since the first implementation of the request queue doesn't take into account what browser the user uses, the _request queue_ limit for parallel data source requests is hard-coded to 5.
Since the first implementation of the request queue doesn't take into account what browser the user uses, the request queue's limit for parallel data source requests is hard-coded to 5.
> **Note:** Grafana instances [configured with HTTP2](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) will have a hard coded limit of 1000.
> **Note:** Grafana instances [configured with HTTP/2](https://grafana.com/docs/grafana/latest/administration/configuration/#protocol) have a hard-coded limit of 1000.

View File

@@ -1,13 +1,16 @@
# Backend
First read the [backend style guide](/contribute/backend/style-guide.md)
to get a sense for how we work to ensure that the Grafana codebase is
consistent and accessible. The rest of the backend contributor
documentation is more relevant to reviewers and contributors looking to
make larger changes.
The contribution guidelines for Grafana backend developers contain a lot of information for anyone who wants to contribute to our open source project.
But you don't necessarily have to read all of it, so long as you read what is most relevant to you.
For anyone reviewing code for Grafana's backend, a basic understanding
of content of the following files is expected:
## Guidelines everyone should read
We recommend that all contributors read the [backend style guide](/contribute/backend/style-guide.md) to get a sense for how we try to ensure that the Grafana codebase is consistent and accessible.
The rest of the backend contributor documentation tends to be more relevant to reviewers and contributors who want to make changes of greater size or quantity.
## Guidelines specifically for backend developers
For anyone who reviews code for the Grafana backend, get a basic understanding of the content of the following files:
- [Currently recommended practices](/contribute/backend/recommended-practices.md)
- [Services](/contribute/backend/services.md)
@@ -15,13 +18,11 @@ of content of the following files is expected:
- [Database](/contribute/backend/database.md)
- [HTTP API](/pkg/api/README.md)
Reviewers who review large changes should additionally make a habit out
of familiarizing themselves with the content of
## Guidelines for contributors who make or review large changes to the backend
If you want to make or review large changes to the backend, be sure to habitually familiarize yourself with the entire contents of
[/contribute/backend](/contribute/backend) from time to time.
## Dependency management
## Guidelines for dependency management
Refer to:
- [UPGRADING_DEPENDENCIES.md](https://github.com/grafana/grafana/blob/main/UPGRADING_DEPENDENCIES.md)
- [Upgrading dependencies](/contribute/backend/upgrading-dependencies.md)
If you work with a dependency that requires an upgrade, refer to [Upgrade dependencies](/contribute/backend/upgrade-dependencies.md).

View File

@@ -1,30 +1,30 @@
# Communication
Grafana use dependency injection and method calls on Go interfaces to
Grafana uses dependency injection and method calls on Go interfaces to
communicate between different parts of the backend.
## Commands and queries
Grafana structures arguments to [services](services.md) using a command/query
Grafana structures arguments to [services](services.md) using a "command/query"
separation where commands are instructions for a mutation and queries retrieve
records from a service.
Services should define their methods as `func[T, U any](ctx context.Context, args T) (U, error)`.
Services should define their methods as follows:
- `func[T, U any](ctx context.Context, args T) (U, error)`
Each function should take two arguments. First, a `context.Context` that
carries information about the tracing span, cancellation, and similar
runtime information that might be relevant to the call. Secondly, `T` is
a `struct` defined in the service's root package (see the instructions
for [package hierarchy](package-hierarchy.md)) that contains zero or
runtime information that might be relevant to the call. Secondly, `T`,
a struct defined in the service's root package. Refer to the instructions
for [package hierarchy](package-hierarchy.md) that contains zero or
more arguments that can be passed to the method.
The return values is more flexible, and may consist of none, one, or two
values. If there are two values returned, the second value should be
either an `bool` or `error` indicating the success or failure of the
call. The first value `U` carries a value of any exported type that
makes sense for the service.
The return values are more flexible, and these may consist of none, one, or two values.
If the function returns two values, the second value should be either a `bool` or `error` to indicate the success or failure of the call.
The first value `U` carries a value of any exported type appropriate for the service.
Following is an example of an interface providing method signatures for
The following example shows an interface that provides method signatures for
some calls adhering to these guidelines:
```
@@ -39,23 +39,20 @@ type Alphabetical interface {
}
```
> Because we request an operation to be performed, command are written in imperative mood, such as `CreateFolderCommand`, `GetDashboardQuery` and `DeletePlaylistCommand`.
> **Note:** Because we request an operation to be performed, command are written in imperative mood, such as `CreateFolderCommand`, `GetDashboardQuery` and `DeletePlaylistCommand`.
The use of complex types for arguments in Go means a few different
things for us, it provides us with the equivalent of named parameters
from other languages, and it reduces the headache of figuring out which
argument is which that often occurs with three or more arguments.
things for us. Most importantly, it provides us with the equivalent of named parameters from other languages, and it reduces the headache of figuring out which argument is which that often occurs with three or more arguments.
On the flip-side, it means that all input parameters are optional and
that it is up to the programmer to make sure that the zero value is
useful or at least safe for all fields and that while it's easy to add
another field, if that field must be set for the correct function of the
service that is not detectable at compile time.
However, it means that all input parameters are optional and
that it's up to the developer to make sure that the zero value is
useful or at least safe for all fields.
Also, although it's easy to add another field, the field must be set for the correct function of the service that isn't detectable at compile time.
### Queries with Result fields
Some queries have a Result field that is mutated and populated by the
method being called. This is a remainder from when the _bus_ was used
Some queries have a `Result` field that is mutated and populated by the
method being called. This is a remainder from when the `_bus_` was used
for sending commands and queries as well as for events.
All bus commands and queries had to implement the Go type
@@ -63,8 +60,8 @@ All bus commands and queries had to implement the Go type
and mutation of the `msg` variable or returning structured information in
`error` were the two most convenient ways to communicate with the caller.
All `Result` fields should be refactored so that they are returned from
the query method:
You should refactor all `Result` fields so that they are returned from
the query method. For example:
```
type GetQuery struct {
@@ -95,9 +92,9 @@ func (s *Service) Get(ctx context.Context, cmd GetQuery) (ResultType, error) {
## Events
An event is something that happened in the past. Since an event has already happened, you can't change it. Instead, you can react to events by triggering additional application logic to be run, whenever they occur.
An _event_ is something that happened in the past. Since an event has already happened, you can't change it. Instead, you can react to events by triggering additional application logic to be run, whenever they occur.
> Because they happened in the past, event names are written in past tense, such as `UserCreated`, and `OrgUpdated`.
> **Note:** Because events happened in the past, their names are written in the past tense, such as `UserCreated` and `OrgUpdated`.
### Subscribe to an event
@@ -116,11 +113,11 @@ func (s *MyService) UserCreated(event *events.UserCreated) error {
}
```
**Tip:** Browse the available events in the `events` package.
> **Tip:** To learn about the available events, refer to the documentation in the `events` package.
### Publish an event
If you want to let other parts of the application react to changes in a service, you can publish your own events:
If you want to let other parts of the application react to changes in a service, you can publish your own events. For example:
```go
event := &events.StickersSentEvent {

View File

@@ -1,6 +1,8 @@
# Database
Grafana uses a database to persist settings between restarts. In fact, if you don't specify one, Grafana creates a [SQLite3](https://www.sqlite.org/) database file on your local disk. This guide explains how to store and retrieve data from the database.
Grafana uses databases to persist settings between restarts. If you don't specify one, Grafana creates a [SQLite3](https://www.sqlite.org/) database file on your local disk. This guide explains how to store and retrieve data from the default or other databases.
## Supported databases and services
Grafana supports the [following databases](https://grafana.com/docs/installation/requirements/#database):
@@ -16,7 +18,7 @@ Grafana uses the [XORM](https://xorm.io) framework for persisting objects to the
> **Deprecated:** We are deprecating `sqlstore` handlers in favor of using the `SQLStore` object directly in each service. Since most services still use the `sqlstore` handlers, we still want to explain how they work.
The `sqlstore` package allows you to register [command handlers](communication.md#handle-commands) that either store, or retrieve objects from the database. `sqlstore` handlers are similar to services:
The `sqlstore` package allows you to register [command handlers](communication.md#commands-and-queries) that either store or retrieve objects from the database. The `sqlstore` handlers are similar to services:
- [Services](services.md) are command handlers that _contain business logic_.
- `sqlstore` handlers are command handlers that _access the database_.
@@ -27,8 +29,8 @@ The `sqlstore` package allows you to register [command handlers](communication.m
To register a handler:
- Create a new file `myrepo.go` in the `sqlstore` package.
- Create a [command handler](communication.md#handle-commands).
- Create a new file, `myrepo.go`, in the `sqlstore` package.
- Create a [command handler](communication.md#commands-and-queries).
- Register the handler in the `init` function:
```go
@@ -48,7 +50,7 @@ Here, `inTransactionCtx` is a helper function in the `sqlstore` package that pro
## `SQLStore`
As opposed to a `sqlstore` handler, the `SQLStore` is a service itself. The `SQLStore` has the same responsibility however: to store and retrieve objects, to and from the database.
As opposed to a `sqlstore` handler, the `SQLStore` is a service itself. Like the handler, the `SQLStore` is responsible for storing and retrieving objects, to and from the database.
To use the `SQLStore`, inject it in your service struct:
@@ -58,7 +60,7 @@ type MyService struct {
}
```
You can now make SQL queries in any of your [command handlers](communication.md#handle-commands) or [event listeners](communication.md#subscribe-to-an-event):
You can now make SQL queries in any of your [command handlers](communication.md#commands-and-queries) or [event listeners](communication.md#subscribe-to-an-event):
```go
func (s *MyService) DeleteDashboard(ctx context.Context, cmd *models.DeleteDashboardCommand) error {
@@ -73,13 +75,13 @@ For transactions, use the `WithTransactionalDbSession` method instead.
## Migrations
As Grafana evolves, it becomes necessary to create _schema migrations_ for one or more database tables.
As your use of Grafana evolves, you may need to create _schema migrations_ for one or more database tables.
To see all the types of migrations you can add, refer to [migrations.go](/pkg/services/sqlstore/migrator/migrations.go).
Before you add a migration, make sure that you:
- Never change a migration that has been committed and pushed to main.
- Never change a migration that has been committed and pushed to `main`.
- Always add new migrations, to change or undo previous migrations.
Add a migration using one of the following methods:
@@ -87,7 +89,7 @@ Add a migration using one of the following methods:
- Add migrations in the `migrations` package.
- Implement the `DatabaseMigrator` for the service.
**Important:** If there are previous migrations for a service, use that method. By adding migrations using both methods, you risk running migrations in the wrong order.
> **Important:** If there are previous migrations for a service, use that method. Don't add migrations using both methods or you risk running migrations in the wrong order.
### Add migrations in `migrations` package
@@ -97,15 +99,15 @@ To add a migration:
- Open the [migrations.go](/pkg/services/sqlstore/migrations/migrations.go) file.
- In the `AddMigrations` function, find the `addXxxMigration` function for the service you want to create a migration for.
- At the end of the `addXxxMigration` function, register your migration:
- At the end of the `addXxxMigration` function, register your migration (refer to the following example).
> **NOTE:** Putting migrations behind feature flags is no longer recommended as it may cause the migration skip integration testing.
- [Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
[Example](https://github.com/grafana/grafana/blob/00d0640b6e778ddaca021670fe851fe00982acf2/pkg/services/sqlstore/migrations/migrations.go#L55-L70)
> **Note:** We no longer recommend putting migrations behind feature flags because this could cause the migration to skip integration testing.
### Implement `DatabaseMigrator`
During initialization, SQL store queries the service registry, and runs migrations for every service that implements the [DatabaseMigrator](https://github.com/grafana/grafana/blob/44c2007498c76c2dbb48e8366b4af410f1ee1b98/pkg/registry/registry.go#L101-L106) interface.
During initialization, SQL store queries the service registry, and runs migrations for every service that implements the [DatabaseMigrator](https://github.com/grafana/grafana/blob/d27c3822f28e5f26199b4817892d6d24a7a26567/pkg/registry/registry.go#L46-L50) interface.
To add a migration:

View File

@@ -1,26 +1,24 @@
# Errors
Grafana introduced its own error type [github.com/grafana/grafana/pkg/util/errutil.Error](../../pkg/util/errutil/errors.go)
in June 2022. It's built on top of the Go `error` interface extended to
contain all the information necessary by Grafana to handle errors in an
informative and safe way.
Grafana includes its own error type [github.com/grafana/grafana/pkg/util/errutil.Error](../../pkg/util/errutil/errors.go).
Introduced in June 2022, the type is built on top of the Go `error` interface.
It extends the interface to contain all the information necessary by Grafana to handle errors in an informative and safe way.
Previously, Grafana has passed around regular Go errors and have had to
Previously, Grafana passed around regular Go errors and therefore had to
rely on bespoke solutions in API handlers to communicate informative
messages to the end-user. With the new `errutil.Error`, the API handlers
can be slimmed as information about public messaging, structured data
related to the error, localization metadata, log level, HTTP status
code, and so forth are carried by the error.
can be streamlined. The error carries information about public messaging,
structured data related to the error, localization metadata, log level,
HTTP status code, and so on.
## Basic use
### Declaring errors
## Declare errors
For a service, declare the different categories of errors that may occur
from your service (this corresponds to what you might want to have
specific public error messages or their templates for) by globally
constructing variables using the `errutil.<status>(status, messageID, opts...)`
functions, e.g.
from your service (this corresponds to categories for which you might want
to have specific public error messages or templates).
Globally construct variables using the `errutil.<status>(status, messageID, opts...)
functions. For example:
- `errutil.NotFound(messageID, opts...)`
- `errutil.BadRequest(messageID, opts...)`
@@ -33,44 +31,41 @@ functions, e.g.
- `errutil.NotImplemented(messageID, opts...)`
- `errutil.ClientClosedRequest(messageID, opts...)`
Above functions uses `errutil.NewBase(status, messageID, opts...)` under the covers, and that function should in general only be used outside the `errutil` package for `errutil.StatusUnknown`, e.g. when there are no accurate status code available/provided.
The previous functions use `errutil.NewBase(status, messageID, opts...)` under the covers, and that function should in general only be used outside the `errutil` package for `errutil.StatusUnknown`. For example, you can use that function when there are no accurate status code available.
The status code loosely corresponds to HTTP status codes and provides a
default log level for errors to ensure that the request logging is
properly informing administrators about various errors occurring in
Grafana (e.g. `StatusBadRequest` is generally speaking not as relevant
as `StatusInternal`). All available status codes live in the `errutil`
package and have names starting with `Status`.
default log level for errors.
The default log levels ensure that the request logging is properly informing administrators about various errors occurring in Grafana (for example, `StatusBadRequest` isn't usually as relevant as `StatusInternal`).
All available status codes live in the `errutil` package and have names starting with `Status`.
The messageID is constructed as `<servicename>.<errorIdentifier>` where
The `messageID` is constructed as `<servicename>.<errorIdentifier>` where
the `<servicename>` corresponds to the root service directory per
[the package hierarchy](package-hierarchy.md) and `<errorIdentifier>`
is a camelCased short identifier that identifies the specific category
of errors within the service.
Errors should be grouped together (i.e. share `errutil.Base`) based on
their public facing properties, a single messageID should represent a
translatable string and what metadata is carried with it.
_service.MissingRequiredFields_ and _service.MessageTooLong_ are likely
Group errors together (that is, share `errutil.Base`) based on
their public-facing properties. A single `messageID` should represent a
translatable string and its metadata.
`_service.MissingRequiredFields_` and `_service.MessageTooLong_` are likely
to be two different errors that are both validation failures, as their
user-friendly expansions are likely different. This is the maximization
rule of declaring as many `errutil.Error`s as you need public message
structures.
user-friendly expansions are likely different.
This is the maximization rule of declaring as many errors with `errutil.Error` as you need public message structures.
The other side of this is that even though a login service's
"user is ratelimited", "user does not exist", "wrong username", and
"wrong password" are reasonable errors to separate between internally,
for security reasons the end-user should not be told which particular
The other side of the coin is that even though such messages as
"user is rate limited", "user doesn't exist", "wrong username", and
"wrong password" are reasonable errors to distinguish internally,
for security reasons the end-user shouldn't be told which particular
error they struck. This means that they should share the same base (such
as _login.Failed_). This is the minimization rule of grouping together
distinct logged errors that provide the same information via the API.
as _login.Failed_).
This is the minimization rule of grouping together distinct logged errors that provide the same information via the API.
To set a static message sent to the client when the error occurs, the
`errutil.WithPublicMessage(message string)` option may be appended to
the NewBase function call. For dynamic messages or more options, refer
To set a static message sent to the client when the error occurs, append the
`errutil.WithPublicMessage(message string)` option to
the `NewBase` function call. For dynamic messages or more options, refer
to the `errutil` package's GoDocs.
Errors are then constructed using the `Base.Errorf` method, which
You can then construct errors using the `Base.Errorf` method, which
functions like the [fmt.Errorf](https://pkg.go.dev/fmt#Errorf) method
except that it creates an `errutil.Error`.
@@ -95,34 +90,27 @@ func Look(id int) (*Thing, error) {
}
```
Errors consider themselves to be both its `errutil.Base` or
`errutil.Template` and whatever errors it wraps for the purposes of the
`errors.Is` function.
Errors are considered to be part of `errutil.Base` and
`errutil.Template`, and whatever errors are wrapped for the purposes of the
`errors.Is` function.a
Check out the package and method documentation for
github.com/grafana/grafana/pkg/util/errutil for details on how to
construct and use Grafana style errors. This documentation is
unfortunately not readily available on pkg.go.dev because Grafana is not
fully Go modules compatible, but can be viewed using
[godoc](https://go.dev/cmd/godoc/) from the Grafana directory.
Refer to the package and method documentation for
`github.com/grafana/grafana/pkg/util/errutil` for details on how to
construct and use Grafana style errors.
This documentation isn't readily available on `pkg.go.dev`, but it can be viewed using [godoc](https://go.dev/cmd/godoc/) from the Grafana directory.
### Error source
## Error source
You can optionally specify an error source that describes from where an
error originates. By default, it's _server_ and means the error originates
from within the application, e.g. Grafana. The `errutil.WithDownstream()`
option may be appended to the NewBase function call to denote an error
originates from a _downstream_ server/service. The error source information
is used in the API layer to distinguish between Grafana errors and
non-Grafana errors to include this information when instrumenting the
application and by that allowing Grafana operators to define SLO's
based on actual Grafana errors.
You can optionally specify an error source that describes an error's origin.
By default, it's `_server_` and means the error originates from within the application, for example, Grafana.
The `errutil.WithDownstream()` option may be appended to the `NewBase` function call to denote an error originates from a _downstream_ server or service.
The error source information is used in the API layer to distinguish between Grafana errors and non-Grafana errors. Error source information is given for use when instrumenting the application, allowing Grafana operators to define SLOs based on actual Grafana errors.
### Handling errors in the API
## Handle errors in the API
API handlers use the `github.com/grafana/grafana/pkg/api/response.Err`
or `github.com/grafana/grafana/pkg/api/response.ErrWithFallback`
(same signature as `response.Error`) function to create responses based
on `errutil.Error`.
Using `response.Err` requires all errors to be Grafana style errors.
> **Note:** Using `response.Err` requires all errors to be Grafana style errors.

View File

@@ -1,6 +1,6 @@
# Instrumenting Grafana
Guidance, conventions and best practices for instrumenting Grafana using logs, metrics and traces.
This guide provides conventions and best practices for instrumenting Grafana using logs, metrics, and traces.
## Logs
@@ -8,7 +8,7 @@ Logs are files that record events, warnings and errors as they occur within a so
### Usage
Use the [pkg/infra/log](/pkg/infra/log/) package to create a named structured logger. Example:
Use the [pkg/infra/log](/pkg/infra/log/) package to create a named, structured logger. Example:
```go
import (
@@ -26,38 +26,38 @@ logger.Error("Error msg", "error", fmt.Errorf("BOOM"))
### Naming conventions
Name the logger using lowercase characters, e.g. `log.New("my-logger")` using snake_case or kebab-case styling.
Name the logger using lowercase characters, for example, `log.New("my-logger")` using snake_case or kebab-case styling.
Prefix the logger name with an area name when using different loggers across a feature or related packages, e.g. `log.New("plugin.loader")` and `log.New("plugin.client")`.
Prefix the logger name with an area name when using different loggers across a feature or related packages; for example, `log.New("plugin.loader")` and `log.New("plugin.client")`.
Start the log message with a capital letter, e.g. `logger.Info("Hello world")` instead of `logger.Info("hello world")`. The log message should be an identifier for the log entry, avoid parameterization in favor of key-value pairs for additional data.
Start the log message with a capital letter, for example, `logger.Info("Hello world")` instead of `logger.Info("hello world")`. The log message should be an identifier for the log entry. Avoid parameterization in favor of key-value pairs for additional data.
Prefer using camelCase style when naming log keys, e.g. _remoteAddr_, to be consistent with Go identifiers.
To be consistent with Go identifiers, prefer using camelCase style when naming log keys; for example, `remoteAddr`.
Use the key _error_ when logging Go errors, e.g. `logger.Error("Something failed", "error", fmt.Errorf("BOOM"))`.
Use the key `Error` when logging Go errors; for example, `logger.Error("Something failed", "error", fmt.Errorf("BOOM"))`.
### Validate and sanitize input coming from user input
If log messages or key/value pairs originates from user input they **should** be validated and sanitized.
If log messages or key/value pairs originate from user input they should be validated and sanitized.
Be **careful** to not expose any sensitive information in log messages e.g. secrets, credentials etc. It's especially easy to do by mistake when including a struct as value.
Be careful not to expose any sensitive information in log messages; for example, secrets and credentials. It's easy to do this by mistake if you include a struct as a value.
### Log levels
When to use which log level?
When should you use each log level?
- **Debug:** Informational messages of high frequency and/or less-important messages during normal operations.
- **Info:** Informational messages of low frequency and/or important messages.
- **Warning:** Should in normal cases not be used/needed. If used should be actionable.
- **Error:** Error messages indicating some operation failed (with an error) and the program didn't have a way of handle the error.
- **Debug:** Informational messages of high frequency, less-important messages during normal operations, or both.
- **Info:** Informational messages of low frequency, important messages, or both.
- **Warning:** Use warning messages sparingly. If used, messages should be actionable.
- **Error:** Error messages indicating some operation failed (with an error) and the program didn't have a way to handle the error.
### Contextual logging
Use a contextual logger to include additional key/value pairs attached to `context.Context`, e.g. `traceID`, to allow correlating logs with traces and/or correlate logs with a common identifier.
Use a contextual logger to include additional key/value pairs attached to `context.Context`. For example, a `traceID`, used to allow correlating logs with traces, correlate logs with a common identifier, either or both.
You must [Enable tracing in Grafana](#2-enable-tracing-in-grafana) to get a traceID
You must [Enable tracing in Grafana](#enable-tracing-in-grafana) to get a `traceID`.
Example:
For example:
```go
import (
@@ -80,9 +80,9 @@ func doSomething(ctx context.Context) {
### Enable certain log levels for certain loggers
During development, it's convenient to enable certain log level, e.g. debug, for certain loggers to minimize the generated log output and make it easier to find things. See [[log.filters]](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#filters) for information how to configure this.
You can enable certain log levels during development to make logging easier. For example, you can enable `debug` to allow certain loggers to minimize the generated log output and makes it easier to find things. Refer to [[log.filters]](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#filters) for information on how to to set different levels for specific loggers.
It's also possible to configure multiple loggers:
You can also configure multiple loggers. For example:
```ini
[log]
@@ -114,41 +114,41 @@ There are many possible types of metrics that can be tracked. One popular method
### Naming conventions
Use the namespace _grafana_ as that would prefix any defined metric names with `grafana_`. This will make it clear for operators that any metric named `grafana_*` belongs to Grafana.
Use the namespace `grafana` to prefix any defined metric names with `grafana_`. This prefix makes it clear for operators that any metric named `grafana_*` belongs to Grafana.
Use snake*case style when naming metrics, e.g. \_http_request_duration_seconds* instead of _httpRequestDurationSeconds_.
Use snake_case style when naming metrics; for example, `http_request_duration_seconds` instead of `httpRequestDurationSeconds`.
Use snake*case style when naming labels, e.g. \_status_code* instead of _statusCode_.
Use snake_case style when naming labels; for example, `status_code` instead of `statusCode`.
If metric type is a _counter_, name it with a `_total` suffix, e.g. _http_requests_total_.
If a metric type is a counter, name it with a `_total` suffix; for example, `http_requests_total`.
If metric type is a _histogram_ and you're measuring duration, name it with a `_<unit>` suffix, e.g. _http_request_duration_seconds_.
If a metric type is a histogram and you're measuring duration, name it with a `_<unit>` suffix; for example, `http_request_duration_seconds`.
If metric type is a _gauge_, name it to denote it's a value that can increase and decrease , e.g. _http_request_in_flight_.
If a metric type is a gauge, name it to denote that it's a value that can increase and decrease; for example, `http_request_in_flight`.
### Label values and high cardinality
Be careful with what label values you add/accept. Using/allowing too many label values could result in [high cardinality problems](https://grafana.com/blog/2022/02/15/what-are-cardinality-spikes-and-why-do-they-matter/).
Be careful with what label values you accept or add. Using or allowing too many label values could result in [high cardinality problems](https://grafana.com/blog/2022/02/15/what-are-cardinality-spikes-and-why-do-they-matter/).
If label values originates from user input they **should** be validated. Use `metricutil.SanitizeLabelName(<label value>`) from _pkg/infra/metrics/metricutil_ package to sanitize label names. Very **important** to only allow a pre-defined set of labels to minimize the risk of high cardinality problems.
If label values originate from user input they should be validated. Use `metricutil.SanitizeLabelName(<label value>)` from the `pkg/infra/metrics/metricutil` package to sanitize label names.
Be **careful** to not expose any sensitive information in label values, e.g. secrets, credentials etc.
> **Important:** Only allow a pre-defined set of labels to minimize the risk of high cardinality problems. Be careful not to expose any sensitive information in label values such as secrets and credentials.
### Guarantee the existence of metrics
If you want to guarantee the existence of metrics before any observations has happened there's a couple of helper methods available in the _pkg/infra/metrics/metricutil_ package.
To guarantee the existence of metrics before any observations have happened, you can use the helper methods available in the `pkg/infra/metrics/metricutil` package.
### How to collect and visualize metrics locally
1. Ensure you have Docker installed and running on your machine
1. Start Prometheus
1. Ensure you have Docker installed and running on your machine.
1. Start Prometheus.
```bash
make devenv sources=prometheus
```
1. Run Grafana, and create a Prometheus datasource if you do not have one yet. Set the server URL to `http://localhost:9090`, enable basic auth, and type in the same auth you have for local Grafana
1. Use Grafana Explore or dashboards to query any exported Grafana metrics. You can also view them at http://localhost:3000/metrics
1. Run Grafana, and then create a Prometheus data source if you do not have one yet. Set the server URL to `http://localhost:9090`, enable basic authentication, and enter the same authentication you have for local Grafana.
1. Use Grafana Explore or dashboards to query any exported Grafana metrics. You can also view them at `http://localhost:3000/metrics`.
## Traces
@@ -156,9 +156,9 @@ A distributed trace is data that tracks an application request as it flows throu
### Usage
Grafana uses [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. There's an interface `Tracer` in the _pkg/infra/tracing_ package that implements the [OpenTelemetry Tracer interface](go.opentelemetry.io/otel/trace), which you can use to create traces and spans. To get a hold of a `Tracer` you would need to get it injected as dependency into your service, see [Services](services.md) for more details. For more information, see https://opentelemetry.io/docs/instrumentation/go/manual/.
Grafana uses [OpenTelemetry](https://opentelemetry.io/) for distributed tracing. There's an interface `Tracer` in the `pkg/infra/tracing` package that implements the [OpenTelemetry Tracer interface](https://pkg.go.dev/go.opentelemetry.io/otel/trace), which you can use to create traces and spans. To access `Tracer` you need to get it injected as a dependency of your service. Refer to [Services](services.md) for more details. For more information, you may also refer to [The OpenTelemetry documentation](https://opentelemetry.io/docs/instrumentation/go/manual/).
Example:
For example:
```go
import (
@@ -183,7 +183,7 @@ func (s *MyService) Hello(ctx context.Context, name string) (string, error) {
ctx, span := s.tracer.Start(ctx, "MyService.Hello", trace.WithAttributes(
attribute.String("my_attribute", "val"),
))
// this make sure the span is marked as finished when this
// make sure the span is marked as finished when this
// method ends to allow the span to be flushed and sent to
// storage backend.
defer span.End()
@@ -197,7 +197,7 @@ func (s *MyService) Hello(ctx context.Context, name string) (string, error) {
// Use the helper functions tracing.Errorf or tracing.Error
// to set the spans status to Error to make
// the span tracking a failed operation as an error span and
// record error as an exception span event for the provided span.
// record the error as an exception span event for the provided span.
return "", tracing.Errorf(span, "failed to check name: %w", err)
}
@@ -219,35 +219,37 @@ func (s *MyService) Hello(ctx context.Context, name string) (string, error) {
Span names should follow the [guidelines from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/trace/api/#span).
| Span Name | Guidance |
| ----------------------- | -------------------------------------------------------- |
| get | Too general |
| get_account/42 | Too specific |
| get_account | Good, and account_id=42 would make a nice Span attribute |
| get_account/{accountId} | Also good (using the “HTTP route”) |
| Span Name | Guidance |
| ------------------------- | ---------------------------------------------------------- |
| `get` | Too general |
| `get_account/42` | Too specific |
| `get_account` | Good, and `account_id=42` would make a nice Span attribute |
| `get_account/{accountId}` | Also good (using the “HTTP route”) |
Span attribute and span event attributes should follow the [Attribute naming specification from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/common/attribute-naming/). Good attribute key examples:
Span attribute and span event attributes should follow the [attribute naming specification from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/common/attribute-naming/).
- service.version
- http.status_code
These are a few examples of good attributes:
See [Trace semantic conventions from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/) for additional conventions regarding well-known protocols and operations.
- `service.version`
- `http.status_code`
Refer to [trace semantic conventions from OpenTelemetry](https://opentelemetry.io/docs/reference/specification/trace/semantic_conventions/) for additional conventions regarding well-known protocols and operations.
### Span names and high cardinality
Be careful with what span names you add/accept. Using/allowing too many span names could result in high cardinality problems.
Be careful with what span names you add or accept. Using or allowing too many span names can result in high cardinality problems.
### Validate and sanitize input coming from user input
If span names, attribute or event values originates from user input they **should** be validated and sanitized. It's very **important** to only allow a pre-defined set of span names to minimize the risk of high cardinality problems.
If span names, attribute values, or event values originate from user input, they should be validated and sanitized. It's very important to only allow a pre-defined set of span names to minimize the risk of high cardinality problems.
Be **careful** to not expose any sensitive information in span names, attribute or event values, e.g. secrets, credentials etc.
Be careful to not expose any sensitive information in span names, attribute or event values; for example, secrets, credentials, and so on.
### Span attributes
Consider using `attributes.<Type>("<key>", <value>)` in favor of `attributes.Key("<key>").<Type>(<value>)` since it requires less characters and thereby reads easier.
Consider using `attributes.<Type>("<key>", <value>)` instead of `attributes.Key("<key>").<Type>(<value>)` since it requires fewer characters and is easier to read.
Example:
For example:
```go
attribute.String("datasource_name", proxy.ds.Name)
@@ -261,29 +263,29 @@ attribute.Key("org_id").Int64(proxy.ctx.SignedInUser.OrgID)
### How to collect, visualize and query traces (and correlate logs with traces) locally
#### 1. Start Jaeger
1. Start Jaeger
```bash
make devenv sources=jaeger
```
```bash
make devenv sources=jaeger
```
#### 2. Enable tracing in Grafana
1. Enable tracing in Grafana<a name="enable-tracing-in-grafana"></a>
To enable tracing in Grafana, you must set the address in your config.ini file
To enable tracing in Grafana, you must set the address in your `config.ini` file:
```ini
[tracing.opentelemetry.jaeger]
address = http://localhost:14268/api/traces
```
```ini
[tracing.opentelemetry.jaeger]
address = http://localhost:14268/api/traces
```
#### 3. Search/browse collected logs and traces in Grafana Explore
1. Search/browse collected logs and traces in Grafana Explore
You need provisioned gdev-jaeger and gdev-loki datasources, see [developer dashboard and data sources](https://github.com/grafana/grafana/tree/main/devenv#developer-dashboards-and-data-sources) for setup instructions.
You need provisioned `gdev-jaeger` and `gdev-loki` data sources. Refer to [developer dashboard and data sources](https://github.com/grafana/grafana/tree/main/devenv#developer-dashboards-and-data-sources) for set up instructions.
Open Grafana explore and select gdev-loki datasource and use the query `{filename="/var/log/grafana/grafana.log"} | logfmt`.
Open Grafana explore and select the `gdev-loki` data source and use the query `{filename="/var/log/grafana/grafana.log"} | logfmt`.
You can then inspect any log message that includes a `traceID` and from there click on `gdev-jaeger` to split view and inspect the trace in question.
You can then inspect any log message that includes a `traceID` and from there click `gdev-jaeger` to split the view and inspect the trace in question.
#### 4. Search/browse collected traces in Jaeger UI
1. Search or browse collected traces in Jaeger UI
You can open http://localhost:16686 to use the Jaeger UI for browsing and searching traces.
You can open `http://localhost:16686` to use the Jaeger UI for browsing and searching traces.

View File

@@ -9,18 +9,18 @@ inspiration for the way we organize packages.
## Principles of how to structure a service in Grafana
[](services.md)
To learn how to structure a Grafana service, refer to [our documentation](services.md).
### Domain types and interfaces should be in local "root" packages
Let's say you're creating a _tea pot_ service, place everything another
Let's say you're creating a "tea pot" service. You should place everything another
service needs to interact with the tea pot service in
_pkg/services/teapot_, choosing a name according to
[Go's package naming conventions](https://go.dev/blog/package-names).
`pkg/services/teapot`. Choose a name according to the
[Go package naming conventions](https://go.dev/blog/package-names).
Typically, you'd have one or more interfaces that your service provides
in the root package along with any types, errors, and other constants
that makes sense for another service interacting with this service to
Typically, you have one or more interfaces that your service provides
in the root package. Also, you should have any types, errors, and other constants
that makes sense for another service to interact with the tea pot service to
use.
Avoid depending on other services when structuring the root package to
@@ -28,37 +28,34 @@ reduce the risk of running into circular dependencies.
### Sub-packages should depend on roots, not the other way around
Small-to-medium sized packages should be able to have only a single
Small to medium-sized packages should be able to have only a single
sub-package containing the implementation of the service. By moving the
implementation into a separate package we reduce the risk of triggering
circular dependencies (in Go, circular dependencies are evaluated per
package and this structure logically moves it to be per type or function
declaration).
circular dependencies.
Large packages may need utilize multiple sub-packages at the discretion
> **Note:** In Go, circular dependencies are evaluated per package, and this structure logically moves it to be per type or function declaration.
Large packages may need to utilize multiple sub-packages at the discretion
of the implementor. Keep interfaces and domain types to the root
package.
### Try to name sub-packages for project wide uniqueness
### Try to name sub-packages for project-wide uniqueness
Prefix sub-packages with the service name or an abbreviation of the
service name (whichever is more appropriate) to provide an ideally
unique package name. This allows `teaimpl` to be distinguished from
`coffeeimpl` without the need for package aliases, and encourages the
use of the same name to reference your package throughout the codebase.
Prefix sub-packages with the service name or an abbreviation of the service name, whichever is more appropriate, to provide a unique package name.
This allows `teaimpl` to be distinguished from `coffeeimpl` without the need for package aliases, and encourages the use of the same name to reference your package throughout the codebase.
### A well-behaving service provides test doubles for itself
Other services may depend on your service, and it's good practice to
provide means for those services to set up a test instance of the
dependency as needed. Refer to
[Google Testing's Testing on the Toilet: Know Your Test Doubles](https://testing.googleblog.com/2013/07/testing-on-toilet-know-your-test-doubles.html) for a brief
dependency as needed. Refer to Google's
[Testing on the Toilet: Know Your Test Doubles](https://testing.googleblog.com/2013/07/testing-on-toilet-know-your-test-doubles.html) for a brief
explanation of how we semantically aim to differentiate fakes, mocks,
and stubs within our codebase.
Place test doubles in a sub-package to your root package named
`<servicename>test` or `<service-abbreviation>test`, such that the `teapot` service may have the
`teapottest` or `teatest`
`teapottest` or `teatest`.
A stub or mock may be sufficient if the service is not a dependency of a
lot of services or if it's called primarily for side effects so that a
@@ -70,34 +67,32 @@ regular service without the need of complicated setup.
### Separate store and logic
When building a new service, data validation, manipulation, scheduled
events and so forth should be collected in a service implementation that
is built to be agnostic about its store.
When building a new service, collect data validation, manipulation, scheduled
events, and so forth, in a service implementation. This implementation should
be built so that it is agnostic about its store.
The storage should be an interface that is not directly called from
outside the service and should be kept to a minimum complexity to
provide the functionality necessary for the service.
A litmus test to reduce the complexity of the storage interface is
whether an in-memory implementation is a feasible test double to build
to test the service.
Use a simple litmus test to determine whether an in-memory implementation is a feasible test-double to assess the service. This will reduce the complexity of the storage interface.
### Outside the service root
Some parts of the service definition remains outside the
service directory and reflects the legacy package hierarchy.
As of June 2022, the parts that remain outside the service are:
Some parts of the service definition remain outside the
service directory and reflect the legacy package hierarchy.
As of June 2022, the parts that remain outside the service are migrations and API endpoints.
#### Migrations
`pkg/services/sqlstore/migrations` contains all migrations for SQL
databases, for all services (not including Grafana Enterprise).
The `pkg/services/sqlstore/migrations` package contains all migrations for SQL
databases for all Grafana services except for Grafana Enterprise.
Migrations are written per the [database.md](database.md#migrations) document.
#### API endpoints
`pkg/api/api.go` contains the endpoint definitions for the most of
Grafana HTTP API (not including Grafana Enterprise).
The `pkg/api/api.go` package contains the endpoint definitions for the most of
Grafana HTTP API except for Grafana Enterprise.
## Practical example
@@ -170,16 +165,16 @@ func (s *sqlStore) Delete(ctx.Context, root.DeleteLetterCommand) error { … }
## Legacy package hierarchy
> **Note:** A lot of services still adhere to the legacy model as outlined below. While it is ok to
> **Note:** Many services still adhere to the legacy model as outlined below. While it is okay to
> extend existing services based on the legacy model, you are _strongly_ encouraged to structure any
> new services or major refactorings using the new package layout.
Grafana has long used a package-by-layer layout where domain types
are placed in **pkg/models**, all SQL logic in **pkg/services/sqlstore**,
are placed in `pkg/models`, all SQL logic in `pkg/services/sqlstore`,
and so forth.
This is an example of how the _tea pot_ service could be structured
throughout the codebase in the legacy model.
This is an example of how the tea pot service could be structured
throughout the codebase in the legacy model:
- _pkg/_
- _api/_
@@ -205,13 +200,13 @@ throughout the codebase in the legacy model.
for the service.
The implementation of legacy services varies widely from service to
service, some or more of these files may be missing and there may be
service. Some of these files, perhaps many, may be missing and there may be
more files related to a service than those listed here.
Some legacy services providing infrastructure will also take care of the
Some legacy services that provide infrastructure also take care of the
integration with several domains. The cleanup service both
provides the infrastructure to occasionally run cleanup scripts and
defines the cleanup scripts. Ideally, this would be migrated
to only handle the scheduling and synchronization of clean up jobs.
The logic for the individual jobs would be placed with a service that is
defines the cleanup scripts. Ideally, the service should be migrated
to only handle the scheduling and synchronization of cleanup jobs.
The logic for the individual jobs should be placed with a service that is
related to whatever is being cleaned up.

View File

@@ -1,169 +1,151 @@
# Currently recommended practices
We occasionally identify patterns that are either useful or harmful that
we'll want to introduce or remove from the codebase. When the complexity
or importance of introducing or removing such a pattern is sufficiently
high, we'll document it here to provide an addressable local
'currently recommended practice'. By collecting these practices in a
single place, we're able to reference them and make it easier to have a
shared understanding of how to write idiomatic code for the Grafana
backend.
Grafana Labs occasionally identifies patterns that may be useful or harmful so that we can introduce or remove from the codebase.
When the complexity or importance of introducing or removing such idiomatic patterns is sufficiently high, we document it on this page to provide a reference. Because the relevance of these practices may vary over time, we call them _currently recommended practices_.
## Large-scale refactoring
Large-scale refactoring based on a new recommended practice is a
delicate matter, and most of the time it's better to introduce the new
delicate matter. It's usually better to introduce the new
way incrementally over multiple releases and over time to balance the
want to introduce new useful patterns and the need to keep Grafana
desire to introduce new useful patterns with the need to keep Grafana
stable. It's also easier to review and revert smaller chunks of changes,
reducing the risk of complications.
| State | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Proposed | The practice has been proposed and been positively received by the Grafana team. Following the proposal is a discretionary choice for developers. |
| Ongoing, active | The practice is actively being worked on. New code should adhere to the practice where at all possible. |
| Ongoing, passive | There is no immediate active work on refactoring old code. New code should adhere to the practice where at all possible. |
| Completed | The work has been done and there is no, or negligible, legacy code left that need refactoring. New code must adhere to the practice. |
| Abandoned | The practice has no longer any active ongoing work and new code don't need to comply with the practice described. |
## States of refactoring
Refer to the following table to identify important categories of refactoring.
| State | Description |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Proposed | This is an optional practice that has been proposed and received positively by the Grafana team. Follow this proposal as you choose. |
| Ongoing, active | The practice is actively being worked on. New code should adhere to the practice whenever possible. |
| Ongoing, passive | There's no immediate active work on refactoring old code. New code should adhere to the practice whenever possible. |
| Completed | The work has been done and there is no, or negligible, legacy code left that needs refactoring. New code must adhere to the practice. |
| Abandoned | The practice doesn't have any active ongoing work and new code doesn't need to comply with the practice described. |
## 1 - Idiomatic Grafana code should be idiomatic Go code
**Status:** Ongoing, passive.
It'll be easier for contributors to start contributing to Grafana if our
It's easier for contributors to start contributing to Grafana if our
code is easily understandable. When there isn't a more specific Grafana
recommended practice, we recommend following the practices as put forth
recommended practice, we recommend that you follow the practices as put forth
by the Go project for development of Go code or the Go compiler itself
when applicable.
as appropriate.
The first resource we recommend everyone developing Grafana's backend to
skim is "[Effective Go](https://golang.org/doc/effective_go.html)",
which isn't updated to reflect more recent changes since Go was
initially released but remain a good source for understanding the
general differences between Go and other languages.
Firstly, best practice is the online book [_Effective Go_](https://golang.org/doc/effective_go.html), which isn't updated to reflect more recent changes since Go was initially released, but which remains a good source for understanding the general differences between Go and other languages.
Secondly, the guidelines for [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
for the Go compiler can mostly be applied directly to the Grafana
codebase. There are idiosyncrasies in Grafana such as interfaces living
closer to its declaration than to its users for services and don't
enforce documentation of public declarations (prioritize high coverage
of documentation aimed at end-users over documenting internals in the
backend).
Secondly, the guidelines for [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) for the Go compiler can mostly be applied directly to the Grafana codebase.
There are idiosyncrasies in Grafana, such as interfaces living closer to their declarations than to their users for services, and the documentation doesn't enforce public declarations.
Instead, the documentation prioritizes high coverage aimed at end-users over documenting internals in the backend.
- [Effective Go](https://golang.org/doc/effective_go.html)
- [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
- [_Effective Go_](https://golang.org/doc/effective_go.html).
- [Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments).
## 100 - Global state
**State:** Ongoing, passive.
Global state makes testing and debugging software harder, and it's something we want to avoid when possible. Unfortunately, there is quite a lot of global state in Grafana.
Global state makes testing and debugging software harder, and it's something we want to avoid whenever possible.
We want to migrate away from this by using
[Wire](https://github.com/google/wire) and dependency injection to pack
Unfortunately, there's quite a lot of global state in Grafana.
We want to migrate away from this state by using
[Wire](https://github.com/google/wire) and dependency injection to pack code.
## 101 - Limit the use of the init() function
## 101 - Limit use of the init() function
**State:** Ongoing, passive.
Only use the init() function to register services/implementations.
Don't use the `init()` function for any purpose other than registering services or implementations.
## 102 - Settings refactoring
## 102 - Refactor settings
**State:** Ongoing, passive.
The plan is to move all settings to from package level vars in settings package to the [setting.Cfg](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210) struct. To access the settings, services and components can inject this setting.Cfg struct:
We plan to move all settings from package-level vars in the settings package to the [`setting.Cfg`](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210) struct. To access the settings, services and components can inject `setting.Cfg`:
- [Cfg struct](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210)
- [Injection example](https://github.com/grafana/grafana/blob/c9773e55b234b7637ea97b671161cd856a1d3d69/pkg/services/cleanup/cleanup.go#L34)
- [`Cfg` struct](https://github.com/grafana/grafana/blob/df917663e6f358a076ed3daa9b199412e95c11f4/pkg/setting/setting.go#L210)
- [Injection](https://github.com/grafana/grafana/blob/c9773e55b234b7637ea97b671161cd856a1d3d69/pkg/services/cleanup/cleanup.go#L34)
## 103 - Reduce the use of GoConvey
## 103 - Reduce use of GoConvey
**State:** Completed.
We want to migrate away from using GoConvey. Instead, we want to use
stdlib testing with [testify](https://github.com/stretchr/testify),
because it's the most common approach in the Go community, and we think
it will be easier for new contributors. Read more about how we want to
write tests in the [style guide](/contribute/backend/style-guide.md).
We encourage you to migrate away from using GoConvey.
Instead, we suggest the use of `stdlib` testing with [testify](https://github.com/stretchr/testify), because it's the most common approach in the Go community, and we think it will be easier for new contributors.
To learn more about how we want to write tests, refer to the [backend style guide](/contribute/backend/style-guide.md).
## 104 - Refactor SqlStore
**State:** Completed.
The `sqlstore` handlers all use a global xorm engine variable. Refactor them to use the `SqlStore` instance.
The `sqlstore` handlers all use a global `xorm` engine variable. Refactor them to use the `SqlStore` instance.
## 105 - Avoid global HTTP handler functions
**State:** Ongoing, passive.
Refactor HTTP handlers so that the handler methods are on the HttpServer instance or a more detailed handler struct. E.g (AuthHandler). This ensures they get access to HttpServer service dependencies (and Cfg object) and can avoid global state.
Refactor HTTP handlers so that the handler methods are on the `HttpServer` instance or a more detailed handler struct. For example, `AuthHandler`.
Doing so ensures that the handler methods get access to `HttpServer` service dependencies (and its `Cfg` object), so that global state may be avoided.
## 106 - Date comparison
## 106 - Compare dates
**State:** Ongoing, passive.
Store newly introduced date columns in the database as epoch based
integers (i.e. unix timestamps) if they require date comparison. This
permits a unified approach for comparing dates against all the supported
databases instead of handling dates differently for each database. Also,
by comparing epoch based integers, we no longer need error pruning
transformations to and from other time zones.
Store newly introduced date columns in the database as epoch-based integers (that is, Unix timestamps) if they require date comparison.
This permits you to have a unified approach for comparing dates against all the supported databases instead of needing to handle dates differently for each database.
Also, when you compare epoch-based integers you no longer need error-pruning transformations to and from other time zones.
## 107 - Avoid use of the simplejson package
## 107 - Avoid the `simplejson` package
**State:** Ongoing, passive
Use of the `simplejson` package (`pkg/components/simplejson`) in place
of types (Go structs) results in code that is difficult to maintain.
Don't use the `simplejson` package (`pkg/components/simplejson`) instead of types (that is, Go structs) because this results in code that is difficult to maintain.
Instead, create types for objects and use the Go standard library's
[`encoding/json`](https://golang.org/pkg/encoding/json/) package.
## 108 - Provisionable\*
## 108 - Enable provisioning
**State:** Abandoned: Grafana's file based refactoring is limited to work natively only on on-premise installations of Grafana. We're looking at enhancing the use of the API to enable provisioning for all Grafana instances.
**State:** Abandoned: The file-based refactoring of Grafana is limited to work natively only on on-premise installations of Grafana.
We want to enhance the use of the API to enable provisioning for all Grafana instances in the future.
All new features that require state should be possible to configure using config files. For example:
All new features that require state should be able to configure Grafana using configuration files.
For example:
- [Data sources](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/datasources)
- [Alert notifiers](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/notifiers)
- [Dashboards](https://github.com/grafana/grafana/tree/main/pkg/services/provisioning/dashboards)
Today it's only possible to provision data sources and dashboards but this is something we want to support all over Grafana.
Today it's only possible to provision data sources and dashboards, but we want to support it throughout Grafana in the future.
### 109 - Use context.Context "everywhere"
### 109 - Use `context.Context`
**State:** Completed.
The package [context](https://golang.org/pkg/context/) should be used
and propagated through all the layers of the code. For example the
`context.Context` of an incoming API request should be propagated to any
other layers being used such as the bus, service and database layers.
Utility functions/methods normally doesn't need `context.Context`.
To follow Go best practices, any function/method that receives a
[`context.Context` argument should receive it as its first parameter](https://github.com/golang/go/wiki/CodeReviewComments#contexts).
You should use and propagate the package [`context`](https://golang.org/pkg/context/) through all the layers of your code.
For example, the `context.Context` of an incoming API request should be propagated to any other layers being used, such as the bus, service layer, and database layer.
Utility functions and methods normally don't need `context.Context`.
To follow Go best practices, any function or method that receives a
`context.Context` argument should receive it as its [first parameter](https://github.com/golang/go/wiki/CodeReviewComments#contexts).
To be able to solve certain problems and/or implement and support
certain features making sure that `context.Context` is passed down
through all layers of the code is vital. Being able to provide
contextual information for the full life-cycle of an API request allows
us to use contextual logging, provide contextual information about the
authenticated user, create multiple spans for a distributed trace of
service calls and database queries etc.
We encourage you to make sure that `context.Context` is passed down through all layers of your code.
When you provide contextual information for the full life cycle of an API request, Grafana can use contextual logging. It also provides contextual information about the
authenticated user, and it creates multiple spans for a distributed trace of service calls, database queries, and so on.
Code should use `context.TODO` when it's unclear which Context to use,
or it is not yet available (because the surrounding function has not yet
been extended to accept a `context.Context` argument).
Code should use `context.TODO` whenever it's unclear which `Context` to use,
or if it isn't yet available because the surrounding function hasn't yet
been extended to accept a `context.Context` argument. For more details, refer to the documentation:
More details in [Services](/contribute/backend/services.md), [Communication](/contribute/backend/communication.md) and [Database](/contribute/backend/database.md).
[Original design doc](https://docs.google.com/document/d/1ebUhUVXU8FlShezsN-C64T0dOoo-DaC9_r-c8gB2XEU/edit#).
- [Services](/contribute/backend/services.md)
- [Communication](/contribute/backend/communication.md)
- [Database](/contribute/backend/database.md)
## 110 - Move API error handling to service layer
**State:** Ongoing, passive.
All errors returned from Grafana's services should carry a status and
the information necessary to provide a structured end-user facing
message that the frontend can display and internationalize for
end-users.
All errors returned from services in Grafana should carry a status and
the information necessary to provide a structured message that faces the end-user. Structured messages can be displayed on the frontend and may be [internationalized](../internationalization.md).
More details in [Errors](/contribute/backend/errors.md).
To learn more, refer to [Errors](/contribute/backend/errors.md).

View File

@@ -1,14 +1,14 @@
# Services
A Grafana _service_ encapsulates and exposes application logic to the rest of the application, through a set of related operations.
A Grafana _service_ encapsulates and exposes application logic to the rest of the application through a set of related operations.
Grafana uses [Wire](https://github.com/google/wire), which is a code generation tool that automates connecting components using [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection). Dependencies between components are represented in Wire as function parameters, encouraging explicit initialization instead of global variables.
Grafana uses [Wire](https://github.com/google/wire), which is a code generation tool that automates connecting components using [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection). Wire represents dependencies between components as function parameters, which encourages explicit initialization instead of global variables.
Even though the services in Grafana do different things, they share a number of patterns. To better understand how a service works, let's build one from scratch!
Before a service can start communicating with the rest of Grafana, it needs to be registered with Wire, see `ProvideService` factory function/method in the service example below and how it's being referenced in the wire.go example below.
Before a service can start communicating with the rest of Grafana, it needs to be registered with Wire. Refer to the `ProvideService` factory method in the following service example and note how it's being referenced in the `wire.go` example.
When Wire is run, it inspects the parameters of `ProvideService` and makes sure that all its dependencies have been wired up and initialized properly.
When you run Wire, it inspects the parameters of `ProvideService` and makes sure that all its dependencies have been wired up and initialized properly.
**Service example:**
@@ -49,16 +49,16 @@ func (s *Service) init() error {
// IsDisabled returns true if the service is disabled.
//
// Satisfies the registry.CanBeDisabled interface which will guarantee
// that Run() is not called if the service is disabled.
// Satisfies the registry.CanBeDisabled interface that guarantees
// that Run() isn't called if the service is disabled.
func (s *Service) IsDisabled() bool {
return !s.cfg.IsServiceEnabled()
}
// Run runs the service in the background.
//
// Satisfies the registry.BackgroundService interface which will
// guarantee that the service can be registered as a background service.
// Satisfies the registry.BackgroundService interface which
// guarantees that the service can be registered as a background service.
func (s *Service) Run(ctx context.Context) error {
// background service logic...
<-ctx.Done()
@@ -109,30 +109,30 @@ func InitializeForTest(cla setting.CommandLineArgs, opts Options, apiOpts api.Se
A background service runs in the background of the lifecycle between Grafana startup and shutdown. To run your service in the background, it must satisfy the `registry.BackgroundService` interface. Pass it through to the `NewBackgroundServiceRegistry` call in the [ProvideBackgroundServiceRegistry](/pkg/registry/backgroundsvcs/background_services.go) function to register it.
You can see an example implementation above of the Run method.
For an example of the `Run` method, see the previous example.
## Disabled services
If you want to guarantee that a background service is not run by Grafana when certain criteria are met/service is disabled, your service must satisfy the `registry.CanBeDisabled` interface. When the `service.IsDisabled` method returns true, Grafana will not call the `service.Run` method.
If you want to guarantee that a background service is not run by Grafana when certain criteria are met, or if a service is disabled, your service must satisfy the `registry.CanBeDisabled` interface. When the `service.IsDisabled` method returns `true`, Grafana won't call the `service.Run` method.
If you want to run certain initialization code whether service is disabled or not, you need to handle this in the service factory method.
You can see an example implementation above of the `IsDisabled` method and custom initialization code when the service is disabled.
For an example of the `IsDisabled` method and custom initialization code when the service is disabled, see the previous implementation code.
## Run Wire / generate code
## Run Wire (generate code)
Running `make run` calls `make gen-go` on the first run. `gen-go` in turn calls the wire binary and generates the code in [wire_gen.go](/pkg/server/wire_gen.go) and [wire_gen.go](/pkg/cmd/grafana-cli/runner/wire_gen.go). The wire binary is installed using [bingo](https://github.com/bwplotka/bingo) which downloads and installs all the tools needed, including the Wire binary at the specified version.
Running `make run` calls `make gen-go` on the first run. The `gen-go` in turn calls the Wire binary and generates the code in [`wire_gen.go`](/pkg/server/wire_gen.go). The Wire binary is installed using [`bingo`](https://github.com/bwplotka/bingo) which downloads and installs all the tools needed, including the Wire binary at the specified version.
## OSS vs Enterprise
## OSS vs. Enterprise
Grafana OSS and Grafana Enterprise share code and dependencies. Grafana Enterprise overrides or extends certain OSS services.
There's a [wireexts_oss.go](/pkg/server/wireexts_oss.go) that has the `wireinject` and `oss` build tags as requirements. Here services that might have other implementations, e.g. Grafana Enterprise, can be registered.
There's a [`wireexts_oss.go`](/pkg/server/wireexts_oss.go) that has the `wireinject` and `oss` build tags as requirements. Here you can register services that might have other implementations, for example, Grafana Enterprise.
Similarly, there's a wireexts_enterprise.go file in the Enterprise source code repository where other service implementations can be overridden/be registered.
Similarly, there's a `wireexts_enterprise.go` file in the Enterprise source code repository where you can override or register other service implementations.
To extend an OSS background service, create a specific background interface for that type and inject that type to [ProvideBackgroundServiceRegistry](/pkg/registry/backgroundsvcs/background_services.go) instead of the concrete type. Then add a wire binding for that interface in [wireexts_oss.go](/pkg/server/wireexts_oss.go) and in the enterprise wireexts file.
To extend an OSS background service, create a specific background interface for that type and inject that type to [`ProvideBackgroundServiceRegistry`](/pkg/registry/backgroundsvcs/background_services.go) instead of the concrete type. Next, add a Wire binding for that interface in [`wireexts_oss.go`](/pkg/server/wireexts_oss.go) and in the enterprise `wireexts` file.
## Methods
Any public method of a service should take `context.Context` as its first argument. If the method calls the bus, other services or the database the context should be propagated, if possible.
Any public method of a service should take `context.Context` as its first argument. If the method calls the bus, it will propagate other services or the database context, if possible.

View File

@@ -1,71 +1,69 @@
# Support bundles
Support bundles are a way to collect all the information needed to debug a problem.
They are generated from the support bundle menu in the UI under the Help section.
Support bundles comprehensively collect the information needed for debugging. Specifically, support bundles function as an archive that contains one file per collector that is selected by the user.
The support bundle is an archive that contains one file per collector selected by
the user.
Generally, collectors are functions in the backend that collect information about the service in which they are running. Services can register collectors during their initialization.
Collectors are functions in the backend that collect information about the service they are running in.
Services can register collectors during their initialization.
## Find the support bundle information
## Adding a new support bundle collector
Support bundles are generated from information located in the Grafana UI's online documentation. Under **Help**, select the **Support bundle** menu.
To add a new support bundle collector, you need to follow these steps,
we'll use the usage stats service as an example:
## Add a new support bundle collector
To add a new support bundle collector, follow these steps which use the usage stats service as an example. For example:
1. Import the support bundles registry in the service's `ProvideService` function:
```go
type UsageStats struct {
...
}
```go
type UsageStats struct {
...
}
func ProvideService(
...
bundleRegistry supportbundles.Service, // Bundle registry
) (*UsageStats, error)
```
func ProvideService(
...
bundleRegistry supportbundles.Service, // Bundle registry
) (*UsageStats, error)
```
2. `make gen-go` will then be able to wire the registry to the service.
After importing the support bundle, run `make gen-go` to wire the registry to the service.
3. Implement the collector
1. Implement the collector. For example:
```go
func (uss *UsageStats) supportBundleCollector() supportbundles.Collector {
return supportbundles.Collector{
UID: "usage-stats", // unique ID for the collector
DisplayName: "Usage statistics", // display name for the collector in the UI
Description: "Usage statistics of the Grafana instance", // description for the collector in the UI
IncludedByDefault: false, // whether the collector is included by default in the support bundle and can't be deselected. Most times you want this to be false.
Default: false, // whether the collector is selected by default in the support bundle. User can still deselect it.
// Function that will actually collect the file during the support bundle generation.
Fn: func(ctx context.Context) (*supportbundles.SupportItem, error) {
// Add your service's logic to collect the information you need
// In this example we are collecting the usage stats and marshalling them to JSON
// This helps us get information about the usage of the Grafana instance
report, err := uss.GetUsageReport(context.Background())
if err != nil {
return nil, err
}
```go
func (uss *UsageStats) supportBundleCollector() supportbundles.Collector {
return supportbundles.Collector{
UID: "usage-stats", // Unique ID for the collector
DisplayName: "Usage statistics", // Display name for the collector in the UI
Description: "Usage statistics of the Grafana instance", // Description for the collector in the UI
IncludedByDefault: false, // Indicates whether the collector is included by default in the support bundle and can't be deselected. Usually you want this to be false.
Default: false, // Indicates whether the collector is selected by default in the support bundle. User can still deselect it.
// Function that will actually collect the file during the support bundle generation.
Fn: func(ctx context.Context) (*supportbundles.SupportItem, error) {
// Add your service's logic to collect the information you need
// In this example we collect the usage stats and place them appropriately in JSON
// This helps us get information about the usage of the Grafana instance
report, err := uss.GetUsageReport(context.Background())
if err != nil {
return nil, err
}
data, err := json.Marshal(report)
if err != nil {
return nil, err
}
data, err := json.Marshal(report)
if err != nil {
return nil, err
}
return &supportbundles.SupportItem{
// filename of the file in the archive
// can be any extension. (most common is .json and .md)
Filename: "usage-stats.json",
FileBytes: data, // []byte of the file
}, nil
},
}
}
```
return &supportbundles.SupportItem{
// Filename of the file in the archive
// Can be any extension (most commonly, .json and .md).
Filename: "usage-stats.json",
FileBytes: data, // []byte of the file
}, nil
},
}
}
```
4. Register the collector in the service's `ProvideService` function:
1. Register the collector in the service's `ProvideService` function. For example:
```go
func ProvideService(

View File

@@ -0,0 +1,26 @@
# Upgrade dependencies
We recommend the practices in this documentation when upgrading the various backend dependencies of Grafana.
## Protocol buffers (protobufs)
Use the most recent stable version of the [protobuf library](http://github.com/golang/protobuf) in Grafana and the plugin SDK.
Additionally, you typically want to upgrade your protobuf compiler toolchain and re-compile the protobuf files.
> **Note:** You need Buf CLI installed and available in your path. For instructions, refer to the [Buf Docs documentation](https://buf.build/docs/installation).
After you've installed Buf CLI, re-compile the protobuf files in Grafana and the plugin SDK. Use this code:
```shell
cd $GRAFANA
make protobuf
cd $GRAFANA_PLUGIN_SDK_GO
mage protobuf
```
After upgrading the protobuf dependency in Grafana and the plugin SDK, it is a best practice to test that your code still works before creating your PR. Specifically:
- Test a plugin built with upgraded SDK on upgraded Grafana
- Test a plugin built with non-upgraded SDK on upgraded Grafana
- Test a plugin built with upgraded SDK on non-upgraded Grafana

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