Compare commits

..

3073 Commits

Author SHA1 Message Date
Dominik Prokop e85091cd84 Dashboard migration: v14 Broken dash repro (#110405)
* Broken dash repro

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

- Fixed bug where panels were deleted when migrating dashboards with empty rows array
- Updated v16.go to match frontend implementation behavior
- Added test case for empty rows scenario in v16_test.go
- Renamed test files to v16.empty-rows-and-panels-array.json for clarity
- All migration tests passing (419 test cases)
2025-09-01 16:14:13 +02:00
Matheus Macabu 616311508d Secrets: Refactor cue schema with new version of App SDK (#110199) 2025-08-27 10:16:17 +02:00
Ryan McKinley 88cd7df18d Provisioning: Show alert when token is missing (#110088) 2025-08-27 05:34:27 +00:00
Kevin Minehart b83ca0712b Add dockerfile test to github actions (#110191)
* Add dockerfile test to github actions

* fix github action

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

* kill off tableNextGen feature flag

* i18n

* i18n

* i18n

* remove state beta from table panel

* fix migration for 0 decimals migration

* add explicit auto option bacjk

* match impl from previous migrations code

* try changing some selectors

* remove timezone test from Cypress

* fix PlaylistForm unit test

* fix some selectors

* clean up i18n, are these gridcells somehow?

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

* fix i18n for en-US

* clean up gdevs now that wrapHeaderText has no default

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

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

* Drop permission role_id index

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

---------

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

* LogLineDetailsTrace: analytics

* Prettier

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

* add external example

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

* Chagnes from prettier

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

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

* Auth.jwt: Support config jwk_set_bearer_token_file

* Docs: Document new JWKS url options and mention tls_skip_verify_insecure

* Docs: Fix note on JWKS response caching

* chore: Refactor getBearerToken into standalone function

* docs: Apply wording/formatting suggestions

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

* chore: Simplify ca helper function using testcerts

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

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

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

chore: Reword comment prevent an erroneous refactor

* docs: Update casing

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

---------

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

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

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

---------

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

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

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

* fix test

* lean on existing memoization and utils more

* just make that method a prop of TableCellRenderer

* add prop to tooltip stuff as well

* fix another test

* update TableNG with apply to row mixed color cell table

* simplify color overrides table

* special case: apply to row transparent bg

* add unit test

* delete erroneous import

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

* run make gen-cue to update tempo dataquery

* add native histogram check function & look for dataquery flag

* remove console log

* check for native histograms in queryfield

* only run query when histograms have not been migrated yet

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

* fix type issue

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

* fix type

* fix import

* remove metric name from func

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

* remove string for boolean check in service graph functions

* fix bug for switching tempo data sources

* handle race condition for unmounting before async call is completed

* fix imports

* add todo to implement getNativeHistograms in Prometheus data source

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

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

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

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

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

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

* Add samlCatalog metric to stats

* Define hook for successful SamlCatalog metrics

* Register new hook

* Add tests

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

* links: create module

* LogList: pass time zone and time range to Details

* LogLineDetailsTrace: create component

* InlineLogDetails: pass time range and time zone

* LogLineDetailsTrace: show loading and error messages

* Update tests

* LogLineDetailsTrace: update message styles

* Prettier

* Add test

* LogLineDetails: add embedded metric test

* Prettier

* LogLineDetailsTrace: use unique request id

* LogLineDetailsTrace: reset state when props change

* Chore: rename

* Chore: rename

* links: add integration test

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

* add test

* Add translation

* Remove unnecessary array spread

* move check provisioned into util function

* wip conflict fix

* Undo file rename

* Remove unneeded handler for now

* Fix delete invalidating getFolder calls

* Don't call hooks conditionally

---------

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

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

* working in default grid

* Fixes

* Update

* SoloPanelPage

* Fixing search layout

* Fixes

* Fixes

* Update

* remove comments

* Solving panel not found

* Fix

* fix lint

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

* add validation and test

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

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

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

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

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

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

* Register the 2 writers

* Commit unsaved file

* Do not validate or mutate history jobs

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

* Use existing repository

* Update confirm modal

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

* More edits

* WIP

* LBAC

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

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

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

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

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

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

* migrate to v18

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

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

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

* cleanup

---------

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

* slight cleanup for e2e

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

* baldm0mma/ scan and update rest of doc

* baldm0mma/ run prettier

* baldm0mma/ rerun yarn run prettier:write

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

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

---------

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

This reverts commit 4d067059c9.

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

* use the single styles object

* restore automatically adjusted line

* restore automatically adjusted line

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

* use compareArrayVals for widths comparisons

* satisfy linter

* whoops, had this backwards

* clean up case with frozen columns

* remove dep

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

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

* little fix

---------

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

* add storybook variation for infoOption in dropdown

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

* add tests for filter tracking

* refactor: boy-scouting V1 filter

* move FiltersV2 to rule-list directory

* fix lint issue

* resolve PR comments round 1

* resolve PR comments round 2- update file locations

* generate apis

* fix tests

* fix lint issue

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

* LogLineContext: add interval picker

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

* Loki: support custom time window

* LogLineContext: implement variable time window

* Remove console

* LogLineContext: store and format options

* LogLineContext: replace radio with combobox

* LogLineContext: run time window on the first request

* InfiniteScroll: use loading to prevent fake events

* Chore: update old comment

* Minor reorg

* Clean up unnecessary styles

* LogLineContext: fix overflow and scroll

* LogList: fix loading prop

* Update comment

* Translations

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

* LogLineContext: move default to constant

* LogLineContext: add test

* Prettier

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

* chore: add supportsAdjustableWindow to logs context interface

* Build

---------

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

* Zanzana: Collect check duration

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

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

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

* Edits

* Prettier

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

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

* Style edits

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

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

* Prettier

---------

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

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

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

* add missing replacement on "Query history"

* fix unit test

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

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

* Table: Rework the renderers file and some types

* more test cleanups

* remove for gauge for now

* memoize all of the renderers

* also memoize the Tooltip component

* memoize the TableCellActions

* memo useStyles2

* update useStyles2 usage in TableNG

* remove console.log

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

* style nit - update variable name to be more idiomatic

---------

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

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

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

* add bench reporter

* add pr trigger

* update workflow

* actually add the test

* debug

.....

* more debug

* this it???

* Debugging GHA workflow

https

newline

tree

cache node modules

try bench again

fix path

* Add RequestsRecorder and tweak GHA workflow

* More debugging GHA workflow

cache

cache key

try renaming path

specify env var correctly

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

fix status

cat stats

cat stats

* prefix metric names

* cleanup

* cleanup gha

* codeowners

* make gen-jsonnet

* quote things

* Add host_type label for categorising the various hosts

* rename pw_boot_time_seconds to pw_test_run_time_seconds

* change prefix

* codeowners, gha name

* remove node-modules caching

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

* remove .drone.star

* Remove drone scripts and drone references in Makefile

* make update-workspace

* remove deadcode tool

* Remove daggerbuild/scripts: deadcode

* Remove drone files / folders in CODEOWNERS

* make update-workspace

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

* migrate to v18

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

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

* Update v27.go

* Update v16.go

* cleanup

---------

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

* fix compile time check

* Fix method name

* Fix naming

* fix the rest of the ListSinceModified names

* Uses resource key without name field

* get latest rv from resource_version. Update test.

* adds moar tests

* adds method stub for ListModifiedSince to other StorageBackend implementations

* adds dummy impl to noop storage backend for ListModifiedSince

* skip tests for badger kv backend for now

* fixes tests and adds badgerkv impl for ListModifiedSince

* add badger kv impl

* adds test for new query

* adds test data for new query

* adds ListModifiedSince stub to mockStorageBackend

* uncomment tests

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

* remove comments

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

* regen test queries

* updates test

* updates function comment

* use resourcepb.ResourceKey instead of ModifiedResourceKey

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

* skip TestListModifiedSince for kv backend

* use WatchEvent_Type for action type

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

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

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Address reviews comments

---------

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

* have partitioned refID include original refID

---------

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

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

* refresh parent on both branch and default workflow

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

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

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

* remove button tooltip and remove comment

* regenerate API clients after schema updates

---------

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

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

* separate steps, clearer error messages

* make same change to non-enterprise version

* double-quote

* ignore conf

* update generated apis

* add names for steps

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

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

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

* fix unit tests

* fix mutating context object in test

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

* Minor fix

* fix test

* Fix test

* adding unit tests for pathId functions

* fix

* Fix link sharing to use new path

* fix

* Update

* No clone keys

* Remove all the clone keys complexity

* More changes

* update e2e test

* Progress

* fix auto grid item

* Finally working cannot move panel into clone row

* adjust how we find vizpanel for keyboard shortcuts

* Update

* Fix shortcuts

* Fix test

* fixing tests

* fix lint

* fix tests

* fix e2e

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

* update

* Upgrade scenes

---------

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

* Add unit test to queryn editor row

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

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

* LogLineDetails: improve label column width

* wip

* Remove log

* grammar: remove unused grammar

* grammar: fix log grammar

* LogLineDetails: improve margins

* LogLineDetails: further fine tune width

* Update tests

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

* remove createRemoteAlertmanager

* modify comment

* unexport functions to create remote secondary and primary forked AMs

* RemoteFactory -> NewRemoteFactory

* avoid passing a logger

* avoid panics if creating the internal AM fails

* remove lines

* rephrase comment

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

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

* GHA: Use standard runners for BE unit tests OSS

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

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

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

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

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

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

* Update playlist types

* Revert

* import

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

* Logline: add regression

* chore: remove unnecessary spy

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

* fix navigation issue

---------

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

* fix the tests

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

* update comments

* Add image and resource commands

* Add secrets paths

* Block workflow run for forks

* ignore via package.json, update CODEOWNERS

* fix workflow path

* remove old azure monitor test

* pull docker image first

* add permissions for docker pull step

* checkout first

* keep creds file

* try all in one job

* with creds...

* add cloud: 'azure'

* pass CLOUD to docker

* add -playwright

* actually use the env vars

* don't need to pass CLOUD env var

* remove commented out code and tidy up

* kick CI

* Update container names and set PLAYWRIGHT_CI

* Update path

* fix zizmor violation

* use bigger runner, add double quoting

* add separate command and increase timeout

* remove timeout

* parameterise the e2e command in CI

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

* fix detect changes

* pass creds into dagger

* try remove quotes

* add a debug log

* exec playwright command after mounting file

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

* fix test

---------

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

* Create correct context based on the query

* Add data source name

* Do not bundle grafana/assistant with flame graph

* Rename component

* Add tests

* Mock grafana/assistant

* Update feature toggle and allow hiding the button

* Update deps

* Update types

* Update yarn.lock

* Fix typo in feature toggle description

* Enable grafanaAssistantInProfilesDrilldown by default

* Enable grafanaAssistantInProfilesDrilldown by default

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

* Add Grafana rules export option to the new list page

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

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

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

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

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

* remove context menu test

* remove context menu test

* i18n

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

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

* InfiniteScroll: minimize use of element.scrollHeight

* LogLineDetails: constrain to 95vw

* LogList: process logs while streaming

* Remove unused prop

* InfiniteScroll: update test

* Update test

* Inline Log Details: read max width from context

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

* add colorization support

* more progress on customizing the tooltip based on cell customization

* configurable as an option

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

* i18n

* use enum where appropriate

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

* clean up some console.logs

* e2e test for the tooltip

* fix global click stuff

* remove console.log

* refine the style of the caret

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

* some updates from self-review

* increase hit target of tooltip caret

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

* reorganize to pre-calc the per-field stuff

* use linear gradient for triangle

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

* clean up event handlers a bit

* restore test for toggle click

* alright, re-remove the toggle case

* cursor pointer

* remove optional root from Popover for now

* remove this ridiculous autogenerated file

* update some of the text

* kill the cellRefMatrix

* remove unused import

* extract a util for the predicateByName part

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

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

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

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

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

* chore: fixes backend tests

* chore: fix backend tests

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

* Update

* update

* fix e2e

* fixes

* Update

* adjust e2e test

---------

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

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

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

* add an action to the kitchen sink Info column

* don't need the class for z-index

* fix this issue across a variety of viz types

* kill tooltip container in TableNG

---------

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

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

* don't create unessecary sceneObjects

* fix i18n identifier strings

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

* Fixes

* fix e2e

* fix lint

* fix lint

* fix test

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

* trying to debug trace propagation

* add extra header

* change header to inject

* very debug logging

* set GF_TRACING_OPENTELEMETRY_OTLP_PROPAGATION

* clean up config

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

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

* Add sorting options to pie chart panel options.

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

* Implement custom sorting in piechart and piechart legend.

* Update piechart documentation

* Fix default and clockwise/counterclockwise confusion.

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

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

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

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

* docs(piechart): include recommendations from @imatwawanaimatwawana

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

* chore(piechart): regenerate Cue schema files

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

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

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

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

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

---------

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

* hide history button from file page

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

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

* update instantiations of OptionsPaneItemDescriptor to pass IDs - iffy changes

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

* update playwright tests

* fix unit tests

* grafana ui components updated to pass ID through

* update components to pass ID through

* add missing input IDs

* better default ID handling

* remove TS note

* revert accidental non-html id change

* kick CI

* fix old-arch e2e tests

* change to plain useId calls

---------

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

Related to #108633

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

* more WIP

* leftover changes after merge

* bug fix: prevent modal close onclick inside modal

* add logic to filter by data sources

* use MultiComboBox component instead of MultipleDataSourcePicker

* add namespace and evaluation group filtering logic

* remove header section of PopupCard

* set max width on popup

* add contact point field

* add contact point logic and tooltip

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

* add plugins show/hide field

* add plugins show/hide field

* add tests for new filter

* test tracking works as expected

* check v2 filter only shows if feature toggle is on

* tidying up

* fix lint errors

* fix close-on-type bug

* use ContactPointSelector component

* fix close-on-click-outside issue

* Add label dropdown logic

* Add query string to search field

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

* clear search input onClear of filters

* fix lint issues

* add tooltips to search input and datasource fields

* Sort typing in ContactPointSelector

* update translation file

* Add logic to group and list view buttons & refactoring

* update failing test

* update test mocks

* fix failing tests

* fix typecheck errors

* resolve PR comments part 1

* update label dropdown to include info text

* Translation extraction

* resolving PR comments

* move autocomplete logic to reusable hook

* resolve PR comments

* fix typecheck

---------

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

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

* tighten up grafana/data types

* kick CI

* restore dashboard scopes props

* revert back to class

* add some comments

* kick CI

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

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

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

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

* Add example for plugin profiling to the doc

---------

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

* Fix linting

* Do not count the provided one

* Fix test

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

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

* remove unnecessary abstraction

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

* keep traces and profiling as owners

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

* Fix?

* Prettier

* Fix?

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

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

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

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

* Feedback, new docs

* Prettier

* More feedback

* Prettier

* Minor edits

* Edits

* Prettier

* Edits

* Prettier

* Solving conflicts

* Prettier

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

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

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

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

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

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

* Fix?

* Fix?

* fix links?

* Update plugin-integrate.md

* fix link

* fix link?

* Update plugin-install.md

* Update plugin-install.md

* fix link

* fix link

* fix links

* Update plugin-types.md

* Fix?

* Fixing

* More links

* Final touches

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

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

* Prettier

---------

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

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

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

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

* update image for filter docs

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

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

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

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

---------

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

* migrate to v18

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

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

* clean up

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

* update i18n file

---------

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

* chore: i18n

* feat: add run query + keyboard shortcuts

* chore: i18n

* chore: initial query formatted

* chore: resolve some issues

* chore: a bit of refactor to clean it up

---------

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

* Update changelog

* Update changelog

* Update CHANGELOG.md

Manually update changelog with 11.6.5 changes

* Update CHANGELOG.md

Update with 12.0.4 changelog content

* Update CHANGELOG.md

update changelog with 12.1.1 content

---------

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

- Add test

* Type fixes

* Fix schema conditions and add test

* Fix lint

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

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

* Lint

---------

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

* chore: fixes to tests

* i18n

* chore: small GenAIButton style update

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

* chore: polish

* fix: i18n

* feat: make it a whole lot more capable

* chore: extract prompt logic to common file

* chore: consolidate state management to custom hooks

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

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

* chore: polish for now

* chore: clean up folder structure

* chore: conditionally use hooks + improve prompt

* chore: betterer....

* chore: polish

* feat: testing 🚀

* chore: polish polish polish

* chore: remove startWithPrompt

* chore: timeout 30

* chore: add experimental badge

* i18n + 60 sec timeout

* chore: MOAR POLISH

* chore: clean up explanation drawer

* chore: update tests

* chore: update FF checks

* chore: get the rendering w/FF correct

* chore: fix tests

* chore: re-work ai tooltips

* chore: cleanup

* chore: handle sql button styling differently

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

* Use the same helper to create repository in export job

* Improve the logging

* Fix eventually conditions in helpers

* Fix export job tests

* Format code

* Fix linting

* Fix the format

* Fix linting issue

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

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

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

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

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

* Update tests for continue token.

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

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

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

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

* add feature flag check on badge

* add test for migrator

* Add QueryEditor.test and useStateSync test

* implement onCancelEditingQuery library

* run i18n extract

* push mod changes

* Revert "push mod changes"

This reverts commit 29c410f126.

* remove queryRef from the URL

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

* restore tests and remove old queryRef from URL behaviour

* clean up test

* remove unnecessary useCallback from onCancelQueryLibraryEdit

* apply PR suggestions about naming of functions

* rename queryRef to queryLibraryRef

* update missing files with the new queryLibraryRef

* fix i18n check

* Disabled add query buttons when queryLibraryRef is present

* Add unit test to components

* add missing queryLibraryRef after merge

* add placeholder for highlighted code

* clear up queryLibraryRef after sucess update

* add monitoring

* remove unnecessary change

* remove placeholder and integrate highlightQuery

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

* update tootlip text

* fix interaction importing issue

* updating i18n for query library editing badge

* update copy on saving actions

* keep copy short

---------

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

This reverts commit c662b880fd.

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

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

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

* clean up

* clean up

* i18n

* added read only status to repository page

* i18n

* fix

* readonly tooltip added local provisioning message

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

* chore: remove compact view work

* chore: cleanup

* chore: moar clean

* chore: use grid instead

* chore: remove no margin + i18n fix

* chore: betterer

* cleanupz

* chore: oh it needs noMargin

* feat: convert to alert

* chore: i18n extract

* i18n

* chore: polish

* fix: change localstorage provider import

* chore: update local storage key name

---------

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

* update client

* fix the openapi

* revert playlist change

* Fix unmanaged resource counts

---------

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

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

Fixes zizmor security finding with Medium confidence level.

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

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

* Rename them as RefURLs

* Implement RefURLs for Github

* Add Ref URLs to Jobs

* Worker Test

* Create the branch in the staged writer

* Regenerate Git mock

* Format code

* Consolidate ResourceURLs and RefURLs into one

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

This reverts commit 6fe0893630.

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

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

* Add integration test

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

* Refactor quota service to use config provider for configuration management

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

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

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

* Reverted to plus

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

* chore: i18n

* chore: refactor

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

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

---------

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

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

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

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

---------

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

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

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

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

* extra fields

* add variable

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

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

* Bump scenes to stable

* Cancel ongoing profile on dashboard scene page page unmount

* Update docs

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

* Generate client

* Put back History Jobs

* Add a controller to remove historic jobs after some minutes

* Start only if Loki is not used

* Format code

* Update OpenAPI spec

* Change log level

* Fix condition

* Fix staticcheck

* Use provisioning identity

* Fix registration APIs

* Fix readonly issue

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

* auto exit terminal ui

---------

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

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

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

---------

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

* Nanoseconds: add control in log line menu

* virtualization: adapt to timestamp format

* Translations

* LogLine: update test

* virtualization: update test

* LogLineMenu: update test

* LogListControls: add third state for new logs panel timestamps

* Logs Panel: expose as a new panel option

* Translations

* Logs Panel: set timestamp resolution from panel config

* Module: add default value

* LogLine: update test

* Spelling

* chore: rename setter

* LogListControls: use custom button for resolution

* Translations

* Translations

* Prettier

* Logs Panel: conditionally show timestamp and details options

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

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

* i18n extract

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

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

* attempt to improve caching with upfront action

* CYPRESS_INSTALL_BINARY: 0

* PUPPETEER_SKIP_DOWNLOAD: true

* use ubuntu-x64-large runners

* increase to 16 shards 🚀

* fix incorrect shard total

* ubuntu-x64 runners

* Revert "ubuntu-x64 runners"

This reverts commit 3411c7c5e1039263b17a3065cd7d45fa4c3c8f69.

* try caching node_modules

* fix flakey scopes test

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

* run again, last one had a dodgy trace

* try different runners for yarn instlal

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

* fix duplicate runs-on

* specify shell for composite action

* fix some flaky tests

* update codeowners

* dedupe yarn.lock

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

* align yarn action cache keys

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

* try without the node_modules magic

* actually skip the node_modules caching magic

* skip hardened mode

* skip downloading cypress

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

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

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

* wip: tab repeats rendering

* wip: tab repeats rework

* rework tab drag and drop to account for repeats

* add TabItemRepeater tests

* clean up

* prevent canvas actions in cloned tabs and rows

* add repeat name into tab title

* prettier ffix

* fix cloneLayout bug

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

* add logging

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

* apply test fixes from the original pr

* host might contain port already

* increase timeout

* increase timeout even more

* even larger timeouts

* Use eventually for stats

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

---------

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

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

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

* Add comment to trigger enterprise integration tests

* Trigger integration tests

* Collect error

* Move tests in wrong spot

* Clean up test

* Remove Eventually

* Remove duplicate not nil check

* Delete comment in infra tests

* Helper to create repository

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

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

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

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

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* migrate to v23

* migrate to v22

* refactor

* fix test

---------

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

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

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

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

* removing custom height

* use the latest experimental RDG with paging up and down

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

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

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

* move styles into their own file

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

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

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

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* restore bugfix from adversarial AI-generated JSON

* reorganize in light of recent and upcoming changes

* cleanup

* override the whitespace for markdown

* what are these auto imports about...

* fix cell height selector from merge

* also remove cellHeightCustom

* i18n

* avoid the important override in markdown cell styles

* revert some betterer config autoformatting

* slight code cleanup

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

* update panelid for empty table panel test

* link styles outside of cell style setup

* flesh out kitchen sink examples, update ImageCell and applyToRow

* clean up some inconsistent states

* fix lint issue

* gdev update

* format JSON to satisfy linter

* shortening the text in the long text field

---------

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

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

---------

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

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

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

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

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

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* fix test

* Fix missing scenarios

---------

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

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

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

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

* feat: Add plugin extension points for DataSource configuration components

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

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

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

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

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

* Add comprehensive tests for DataSource plugin extensions

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

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

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

* Update specs.md to reflect completed test implementation

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

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

* rm specs file

* lint

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

* tsc

* prettier: fix

* Fix datasource extension path format to resolve CI test failure

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

* fix: DataSourceTestingStatus test failures

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

All 10 tests now pass successfully.

* lint fix

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

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

* rm brittle tests

* DataSource: Replace individual buttons with dropdown menu in EditDataSourceActions

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

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

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

* refactor: use DataSourceConfigErrorStatus extension point for troubleshooting guide

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

* extract i18n

* lint:fix

* Revert "lint:fix"

This reverts commit 23cdb39672.

* lint:fix

* fix: mock plugin extensions registry in variables utils test

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

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

* fix: mock plugin extensions registry in explore query test

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

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

* better fix

* Fix EditDataSourceActions test by mocking utils and handling dropdown UI

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

* lint:fix

* refactor: extract duplicated allowedPluginIds to single source of truth

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

* refactor: update datasource extension link configurations

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

* removing unused config

* better dropdown

* fix: update EditDataSourceActions tests to match component implementation

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

* lint:fix

* remove extra check

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

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

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

* test: Update EditDataSourceActions tests for new dropdown implementation

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

* test: Add comprehensive test coverage for dropdown explore functionality

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

* translation

* compass icon for the explore item

* feat: refactor AlertSuccessMessage to accept extension links as props

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

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

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

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

* Split integration tests into multiple files

* Fix missing import

* Rename file to repository test

q

* Wrap worker errors with more context

* Fixed tests

* Add nolint

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

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

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

* Add Graph API troubleshooting guide

* Improve writing

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

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

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

* clean up final invite user experiment

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

* add some basic tests to util functions

* fix tests / jest mock conflicts

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

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

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

* Remove FIXME

* Format code

* Fetch job before update

* Add claims for all namespaces

* Remove unused import

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

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

---------

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

* Switch to AdvancedHttpSettings component

* Fix locale

* Betterer

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

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

* don't need to specify zod/v4 anymore

---------

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

* add extension for queryless apps, allow for multiple extensions

* add button to querywrapper

* remove debugger

* add hook to get tests to pass

* fix spelling of component

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

* fix datasourcemodal styling

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

* add comment

* fix the specific alerting links

* fix lint rule violations

* update translations

* fix unit tests

* kick CI

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

* update codeowners

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

* set failOnError: false to match previous behaviour

---------

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

* Use new DisableUsernameLoginProtection setting in tests where appropriate

* Update documentation for other brute force directives

* Avoid unecessary database calls

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

* Add test

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

* cuter

* add context and remove testing by sibling

---------

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

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

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

* Update folder client

* Add comment

* Add feature toggle

* Add new version of useFoldersQuery

* Error handling

* Format

* Rename feature toggle

* Remove options and move root folder constant

* Fix feature toggle merge

* Add feature toggle again

* Rename useFoldersQuery files

* Update API spec

* Fix test

* Add test

* Migrate delete folder button

* useGetFolderQueryFacade

* Use getFolder facade hook

* Recreate legacy getFolder from the APIs

* Fix imports

* Add comment

* Rename function

* Simulate virtual folders in the API client

* Translations

* Update test

* Move the hook out of the index file

* Fix undefined in test

* Better status combining

* Use real access api for virtual folders

* Add basic test for the hook

* Remove commented import

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

* Update tests

* Moved delete folder into facade hook

* Remove namespace attribute from virtual folders

* go lint

---------

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

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

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

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

* fix log

* remove mods to gosum

* fix missing plugin check

* debug log, not warn

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

---------

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

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

* InlineSecureValue: Move to its own package rather than service

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

* InlineSecureValue: Add gRPC client

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

* Wire: Add ProvideInlineSecureValueService to basic wireset

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

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

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

* Use 5 drivers instead

* Revert "Use 5 drivers instead"

This reverts commit 9c1fc3c70b.

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

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

* Infinite Scroll: add unit tests

* Remove log

* Remove log

* LogList: unify height calculation

* LogList: manage list height with resize observer

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

* Update docs

* Bump scenes

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

* Store entire ScopeNode, load from localSotrage

* Load nodes form localStorage on init

* Add runtime type validation

* Add tests

* Remove unused import

* Add parentNode name to selector integration test

* Deep clone

* Schema validation with zod

* Add comment

* Use zod for schema validation of scope object

* Update type validation of recent scope nodes

* Add comment

* Add expect ts error

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

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

* fix violations

* restore some unnecessarily removed labels

* use types instead of interfaces as before

* further fixes

* fix unit test

* commit translations and fix unit test

* upgrade plugin-ui to 0.10.8

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

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

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

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

**Why do we need this feature?**

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

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

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

**Who is this feature for?**

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

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

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

* fix: handle cases where request type is not set

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

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

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

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

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

---------

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

* remove cypress dashboards-suite

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

* fix package.json

* update CODEOWNERS

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

* assign some things...

* more delegating

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign some more CODEOWNERS

* delete some unused files

* remove LocalStorageValueProvider and assign more CODEOWNERS

* remove WithFeatureToggle and assign more CODEOWNERS

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

* restore ticks, more CODEOWNERS

* finish assigning CODEOWNERS

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

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

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

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

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

* fix: Fix date formatting when rounded

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

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

---------

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

* make it configurable

* lint fix

* corrected unit test

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

* introduce tests

* cleaning

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

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

* wip

* Only return latest instant query result

* Always disable streaming for alerting queries

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

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

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

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

* Fix mistaken label and add better null logic to transpose

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

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

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

* Update docs content, simplify null logic

* Add test, clarify empty logic

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-08-04 07:53:26 -05:00
renovate[bot] 50ead8d463 Update testing-library monorepo (#109121)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 12:45:52 +00:00
Juan Cabanas 3b96a88aa2 SortPicker: Disable SortPicker by prop (#109083) 2025-08-04 09:17:33 -03:00
Ezequiel Victorero e88b54e9d3 ShortURL: Create k8s API (#108821) 2025-08-04 09:12:12 -03:00
renovate[bot] 3a84f6ad42 Update dependency react-hook-form to v7.62.0 (#109114)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 13:05:31 +01:00
Andres Martinez Gotor ff9ab17636 Fix useRecentlyUsedDataSources (#108971) 2025-08-04 13:27:35 +02:00
Matheus Macabu a4ed9c4bb6 Secrets: Better error message for not matching resource owner (#109113) 2025-08-04 13:01:08 +02:00
Josh Hunt 3a1c1b6232 Devenv: Replace testdata UIDs with gdev-testdata (#108997)
* Prettier format the devenv folder

* Consistently use type-only dsref for testdata in devenv dashboards
2025-08-04 11:20:12 +01:00
renovate[bot] 0a108e9c68 Update dependency eslint-config-prettier to v10 (#109064)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 11:05:14 +01:00
Matheus Macabu f5e1e8e8e2 Secrets: Bump dependency with inline proto (#109106) 2025-08-04 11:20:48 +02:00
Gábor Farkas b839bb7a81 datasources: querier: removed unused method (#109109) 2025-08-04 11:00:59 +02:00
Matheus Macabu 3e66819bac Air: Keep binary after exiting (#109103) 2025-08-04 09:58:54 +02:00
Gábor Farkas 6dc0dedc97 datasources: querier: refactor (#108776)
datasources: querier: refactor types
2025-08-04 09:57:41 +02:00
Matheus Macabu 81f544e186 Secrets: Add service name as explicit parameter for Decrypt (#109054)
* Secrets: Add service name as explicit parameter for Decrypt

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-08-04 08:51:15 +02:00
Matheus Macabu 343fe4dadf Secrets: Introduce inline secure value service proto (#109029)
* Secrets: Introduce inline secure value service proto

* Fix secure value description

* Add orgid to obo auth context for testing
2025-08-04 08:26:07 +02:00
Edvard Falkskär 8ac74e24df TraceView: Add span attributes to attributes extension point (#107756) 2025-08-02 16:13:02 +02:00
grafana-pr-automation[bot] 9cc5171e50 I18n: Download translations from Crowdin (#109092)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-02 00:41:54 +00:00
Paul Marbach a5ceac4474 TableNG: Markdown cell, plus auto row height (#107549)
* TableNG: Markdown cell, plus custom row height

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

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

* removing custom height

* use the latest experimental RDG with paging up and down

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

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

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

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* reorganize in light of recent and upcoming changes

* remove one more reference to cellHeightCustom

* put getDefaultRowHeight back into a util

* clean up test

* swap cell height back to a radio

* revert ImageCell change, we'll do it in the getStyles PR

* don't memo defaultRowHeight

* final couple of style cleanups

* different approach to managing the auto height part of this

* kill console.log

* update i18n

* reorganized once more

* i18n

* guard against rowHeight being auto for virtualization

* may as well memoize the defaultRowHeight

* get rid of the enableVirtualization initializer thing

* fixes from CI

* fix test

* fix test

* just omit third arg for that test

* remove nonsensical test case

* this file didn't get re-gen'd

* fixes from review

* row expander doesn't need height

* remove console.log

* fix e2e after we fixed pagination toggle bug
2025-08-01 19:56:12 -04:00
Yuri Tseretyan cbf256120e Revert "Alerting: Remote Alertmanager to calculate hash of the request payload instead of just the configuration" (#109086)
Revert "Alerting: Remote Alertmanager to calculate hash of the request payloa…"

This reverts commit 32434810e1.
2025-08-01 21:34:31 +00:00
Stephanie Hingtgen bd5c83bc11 Revert "Chore: Use proper database type from env in testinfra integration tests" (#109081)
Revert "Chore: Use proper database type from env in testinfra integration tes…"

This reverts commit 772f647210.
2025-08-01 20:49:54 +00:00
Alexander Akhmetov 8b5b9b68c2 Alerting: Document Accept header in Prometheus conversion API (#109080) 2025-08-01 22:39:54 +02:00
Stephanie Hingtgen 9f4773c9a5 Provisioning: Extract to apps submodule (#109074) 2025-08-01 14:35:18 -05:00
Stephanie Hingtgen 172a69da75 Feature toggle: Cleanup old ones (#109072) 2025-08-01 19:29:42 +00:00
Alexander Akhmetov b36a8e84cc Alerting: Document "Get rule group" Prometheus conversion API endpoint (#109075) 2025-08-01 21:15:33 +02:00
Alexander Akhmetov eb3a457c6d Alerting: Support JSON responses in the Prometheus conversion API (#109070) 2025-08-01 21:15:21 +02:00
William Wernert 2f0190d775 Alerting: Add store level pagination of rules (#108633) 2025-08-01 12:54:13 -04:00
Paul Marbach 7e47968939 TableNG: Wrap text for DataLinks and Pills (#108645)
* TableNG: Wrap text for DataLinks and Pills; groundwork for max wrap length

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* use a local count instead of getCellLinks

* fix linting on test
2025-08-01 12:27:53 -04:00
Eve Meelan 147df3de08 Pricing update: no more Cloud Advanced (#109056)
* scrub Cloud Advanced

* prettier edit
2025-08-01 16:23:58 +00:00
Andrew Hackmann 4a26cb92c6 ElasticSearch: Fix inline casting bug when validating the index (#108951)
split out inline casts
2025-08-01 11:01:25 -05:00
Jack Baldry 0faa03edbe Add snippets for 'Create log alert rules with Grafana Alerting' learning journey (#109059) 2025-08-01 15:57:18 +00:00
Timur Olzhabayev 4287734114 Fix: Adding sparse checkout to issue triage workflow (#109060)
* adding sparse checkout

* adding checkout step if we want to run triage
2025-08-01 15:46:29 +00:00
renovate[bot] b333b67aea Update dependency copy-webpack-plugin to v13 (#109053)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 15:29:06 +00:00
Konrad Lalik 953afbd784 Alerting: List V2 - Fix free form filter (#109050)
Use whole free form words for fuzzy search in rule names
2025-08-01 16:29:08 +02:00
renovate[bot] cc63af204c Update dependency babel-loader to v10 (#109047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 15:10:30 +01:00
Todd Treece 1831953f7f K8s: Add API Enablement for apps (#109019) 2025-08-01 10:02:01 -04:00
Serge Zaitsev 772f647210 Chore: Use proper database type from env in testinfra integration tests (#108845)
use database type from env in testinfra
2025-08-01 14:01:13 +00:00
Konrad Lalik b1cdd45ca4 Alerting: List V2 - datasource icons for rules (#109033)
Add datasource icons to the rule list item components
2025-08-01 15:36:46 +02:00
Gareth 7b5288c28a Fix: Preserve Jaeger base path when constructing search request (#109045)
* fix url construction

* consistency

* update error response

* error source

* add test case
2025-08-01 13:56:31 +01:00
Matheus Macabu 491c74b688 Secrets: Add inline secure value delete when owned method (#108993) 2025-08-01 14:45:44 +02:00
Tom Ratcliffe 4f30a3b62b Folders: Use app platform search endpoint and update tests (#108814)
* Update test utils package with mock folder + search endpoints

* Add dashboards v0alpha1 api client

* Update hook to use app platform search API

* Update tests and fixtures
2025-08-01 13:34:33 +01:00
renovate[bot] 1130f69ef7 Update dependency @types/glob to v9 (#109043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 12:00:34 +00:00
Matheus Macabu 988439e0b8 Secrets: Simplify CanReference interface to only pass secure value names (#109030) 2025-08-01 14:00:01 +02:00
Matheus Macabu 7374df7945 Secrets: Add inline secure value create method (#108987) 2025-08-01 13:57:51 +02:00
Levente Balogh d96cd46272 Plugin Extensions: Support core plugins (#108685)
* feat(extensions): allow core plugins to use core grafana extension points

* fix: don't validate the plugin.json for core plugins
2025-08-01 13:42:07 +02:00
renovate[bot] 63093dfb26 Update dependency @types/eslint-scope to v8 (#109034)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 12:34:32 +01:00
Matias Chomicki 3f90c85c4e New Logs Context: Logs context using the new Logs Panel (#108852)
* LogLineContext: initial support

* LogLineContext: infinite scroll bottom

* LogLineContext: clean up styles and support both scrolls

* InfiniteScroll: support top scrolling

* LogLineContext: support center matched line

* LogLineContext: read options from storage

* LogLineContext: move padding container

* LogLineContext: reset on ui change

* LogLineContext: improve sort order and fix open in split

* LogLineContext: show log line

* Translations

* LogsPanel: integrate new context component

* LogLineContext: add unit test

* Prettier

* Remove unused import

* InfiniteScroll: add "scroll to load more" top

* LogLineContext: rename collapsible

* Update tests

* LogLineContext: refactor center button

* LogLineContext: handle overflow in small viewports

* LogLineContext: format referenced log line

* Memoize

* LogLineContext: make modal bigger

* LogList: improve a11y

* LogLineContext: flexbox magic

* LogLineContext: revert center button change

* LogsPanel: hide overflow

* LogLineContext: responsive min-height

* LogLineContext: fix wrap log message

* InfiniteScroll: improve direction handling

* Add feature flag

* Implement feature flag

* InfiniteScroll: report direction
2025-08-01 11:30:17 +00:00
Roberto Jiménez Sánchez 9ca0750134 Provisioning: skip export of already managed resources and parent folder export (#108893)
* Skip export on already managed resources

* Add integration test

* Add integration test

* Handle nothing to commit error

* Fix leaky abstraction issue

* Handle the no commit error on commit and not on push

* Fix linting

* Some fixes for integration test

* Improve tree to work with a root

* Some fixes with hacks

* Add additional checks

* Fix comment

* Fix path problems in test

* Fix more stuff

* Revert to use empty tree

* Remove changes in tree

* Finally fix the tests work

* Remove stale comment

* Fix linting

* Revert changes in test

* Fix error message for folder not found in resource tree

Co-authored-by: roberto.jimenez <roberto.jimenez@grafana.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-08-01 11:17:15 +00:00
Bogdan Matei 88a52bb6f4 Dashboards: Improve lazy loading (#108854) 2025-08-01 10:46:41 +00:00
Bogdan Matei f3cd54769c Dashboard: Fix for change detector in dashboards with live refresh (#108903) 2025-08-01 13:38:11 +03:00
renovate[bot] bfa6bb0264 Update dependency typescript to v5.9.2 (#109025)
* Update dependency typescript to v5.9.2

* remove unused ts-expect-error

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-08-01 11:24:38 +01:00
renovate[bot] ce2fd8a46f Update dependency @rsdoctor/webpack-plugin to v1 (#108996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 09:48:39 +01:00
Sven Grossmann cc34f6033d Assistant: Add "Assistant" menu item (#108926)
* Assistant: Add "Assistant" menu item

* update-workspace
2025-08-01 10:32:12 +02:00
ismail simsek 63cc91face Prometheus: Don't use incremental querying if one of the queries has $__range variable (#108823)
don't use incremental querying if one of the queries has $__range variable
2025-08-01 10:13:49 +02:00
Sam Jewell 8e1b3338c6 TableNG: Improve AdHoc filter icons (#108968)
We removed the "Filter for/out value" tooltips when we reimplemented the Table panel. We don't want to reimplement these, so we're improving the icons instead, to look more like "Filter" and less like "Zoom in/out"
2025-08-01 08:55:57 +01:00
grafana-pr-automation[bot] ae2614f1a8 I18n: Download translations from Crowdin (#109016)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-08-01 00:44:23 +00:00
Stephanie Hingtgen ef0d6381b0 Dashboards: Remove incorrect information in docs (#109014) 2025-07-31 22:12:17 +00:00
ismail simsek 025d8527dd Prometheus: Refactor metrics modal to handle high cardinality metrics (#108437)
* remove redux from PromQueryBuilderContainer

* remove export

* housekeeping

* introduce MetricsModalContext to replace redux

* handle result pagination

* add search related values in context

* handle filtering

* handle search

* handle search and highlighting

* cleaning up

* better helpers

* remove unused types

* reorganize the code

* update settings

* improve search and fetch

* remove unused styles

* linting

* fix tests

* update

* lint

* i18n

* import order

* try to fix the test

* remove start call from variable editor

* fix highlighter

* fix pagination alignment

* make the entire row clickable and remove select button

* review updates

* remove settings

* use ufuzzy search

* fix tests

* use case-insensitive search

* review fixes

* fix pagination

* improve readability
2025-07-31 23:32:43 +02:00
Kevin Minehart 925e19acf2 CI: set source-event in release-build dispatch (#109009)
* set source-event in release-build dispatch

* missing inputs key
2025-07-31 15:33:27 -05:00
Kevin Minehart 598cc585bd CI: Push dev images from PRs and remove Drone from PRs (#109004)
* Push docker images in PRs and remove Drone

* fix actionlint errors

* grep for docker doesn't need another grep
2025-07-31 14:25:59 -05:00
alerting-team[bot] 0553c2494f Alerting: Update alerting module to b4b881b7b2631baa3a1ae2911f723c5c1d6e53f6 (#108872)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-31 14:37:36 -04:00
Adam Simpson 2d1271e981 query service: improve error handling and logging (#108948)
Co-authored-by: Sarah Zinger sarah.zinger@grafana.com
Co-authored-by: Gábor Farkas gabor.farkas@gmail.com
2025-07-31 14:10:21 -04:00
Dave Henderson e0dd56e4c7 fix(swagger): Fix swagger/OpenAPI defs for /api/anonymous/* endpoints (#108999)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-31 14:08:42 -04:00
dependabot[bot] 3587439fb8 Bump cypress-io/github-action from 6.7.16 to 6.10.2 (#108649)
Bumps [cypress-io/github-action](https://github.com/cypress-io/github-action) from 6.7.16 to 6.10.2.
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/108b8684ae52e735ff7891524cbffbcd4be5b19f...b8ba51a856ba5f4c15cf39007636d4ab04f23e3c)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 13:58:23 -04:00
Ihor Yeromin 66b01e49a1 Canvas: Pan and zoom improvement (#86879)
* fix(canvas): style linter issue

* feat(canvas): update infinite viewer root element

* fix(canvas): resize element on moving

* fix(canvas): global element position

* fix(canvas): connection anchor position

* fix(canvas): connection position

* fix(canvas): connection coordinates calculation

* cleaning

* fix(canvas): calculation connection coordinates

* fix(canvas): initial connections svg position

* fix(canvas): align connection with new coordinates system

* fix(canvas): temporary element position fix

* comment

* Canvas: Fix canvas selecto (#104621)

* fix(canvas): get context back

* fix(canvas): selecto containers

* clean up

* Canvas: Fix jumpy elements behaviour on select and drag (#104641)

fix(canvas): jumpy elements behaviour on select and drag

* fix(canvas): connection regression (#104682)

* Canvas pan + zoom:  Updated mouse interactions (#104648)

* feat: canvas panel pan + zoom key binds

* feat: panning when right click + ctrl

* chore: some cleanup

* chore: adjust mouse move delta by canvas scale

* Canvas: Zoom to content (#104950)

feat(canvas): zoom to content

* Canvas pan + zoom: Unique key for canvas panel elements (#104947)

fix: unique keys

* Canvas: Placement adjustment (#105117)

* feat(canvas): top/left placement migration

* feat(canvas): adjust constraint system for pan and zoom usage

* feat(canvas): support other constraints

* Canvas: Align connection anchors and element rotation (#106002)

* feat(canvas): align connection anchors and element rotation

* clean up

* clean-up math

* Canvas: Disable pan when pan+zoom toggle is false (#106224)

chore: no pan when pan+zoom toggle is disabled

* Canvas: Fix desync between scene and InfiniteViewer zoom/position on element addition (#106655)

feat(canvas): keep pan and zoom state to re-apply

* Canvas: Clicking on metricValue dropdown does not work; right-click triggers context menu instead (#106701)

fix(canvas): metricValue left click dropdown

* Canvas: Double-click on canvas should reset scale and position (#106709)

fix(canvas): dblclick to reset zoom

* Canvas: Put new canvas pan and zoom under feature toggle (#107001)

* feat(canvas): put pan and zoom under FF

* clean-up

* clean-up

* fix(canvas): clear selection on scene manipulation

* fix(canvas): any types

* Canvas: Fix canvas apply styles (#107404)

* fix(canvas): apply styles

* remove deps

* Canvas: E2E test coverage (#107474)

* betterer

* feat(canvas): sceneAbleManagement tests

* feat(canvas): playwright tests

* chore(canvas): add draft e2e tests

* chore(canvas): clean draft e2e tests

* chore(canvas): fix draft e2e tests

* chore(canvas): todo comments

* chore(canvas): update e2e tests

* chore(canvas): delete scene unit tests

* chore(canvas): delete sceneAbleManagement unit tests

* chore(canvas): delete sceneAbleManagement unit tests

* chore(canvas): linter

* chore(canvas): locales

* chore(canvas): remove flag checking

* Fix canvas connection point z-indexing bug (#107223)

fix(canvas): hoist connect points one level higher in DOM to fix z-index

* Revert "Fix canvas connection point z-indexing bug" (#108146)

Revert "Fix canvas connection point z-indexing bug (#107223)"

This reverts commit e419cb164a.

* Canvas: Set canvas zoom range (#108318)

* chore(canvas): set zoom range

* chore(canvas): naming

* Canvas: Fix infinite-viewer connections viewport values (#108315)

chore(canvas): infinite-viewer connections viewport values

* Canvas: Fix z-indices order and explicit pointer events (#108284)

* fix(canvas-connection-points): z-indices order, explicit pointer events

* chore(canvas): remove user select

* chore(canvas): naming

* chore(canvas): create ConnectionAnchor2 component

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* Canvas: Hide anchors on panel resize (#108588)

chore(canvas): hide anchors on panel resize

* Canvas: Center & scale select, resize, zoom bugs (#108749)

* Canvas: Fix center and scale constraint with zoom

* Remove unused resize flag

* Consolidate and clean up

* fix(canvas): re-size scale and center elements

---------

Co-authored-by: Ihor Yeromin <yeryomin.igor@gmail.com>

* Canvas: Fix on constraint change during zoom (#108947)

* Canvas: Ensure correct panel size during edit (#108953)

* chore(canvas): re-gen cue

---------

Co-authored-by: drew08t <drew08@gmail.com>
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Drew Slobodnjak <60050885+drew08t@users.noreply.github.com>
2025-07-31 19:34:48 +02:00
Josh Hunt 400aeccb35 FS: Speed up backend build-reload cycle (#108889)
* wip so far. need to prove rebuilds work

* build common runner image

* glibc support

* ubuntu

* add conditional

* add support for cross-os builds

* format

* don't use zig by default on macos

* use postgres

* tidy up

* more tidy

* update readme

* remove errant changes
2025-07-31 17:22:29 +01:00
Ashley Harrison 68d7c970b5 e2e: Ensure we build the grafana binary when starting up the playwright server (#108992)
* ensure we build the grafana binary as part of the playwright server startup

* only build if binary isn't there

* add comments

* handle building the binary in the start-server script
2025-07-31 17:18:58 +01:00
renovate[bot] b990c7e7af Update dependency @stylistic/eslint-plugin-ts to v4 (#108995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 17:18:32 +01:00
Matheus Macabu 4b27b0108e Secrets: Update package in go.mod with consolidate proto+grpc (#108994) 2025-07-31 18:14:40 +02:00
renovate[bot] 291ec08150 Update dependency @npmcli/package-json to v6 (#108991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:47:59 +00:00
Paul Marbach 2e6534f489 Table: Reorder cell types selector (#108629)
* Table: Reorder cell types selector, add Alpha denotation in TableNG for Pills

* fix i18n

* remove alpha badge

* reorder in docs and TableRT

* fix i18n
2025-07-31 11:45:43 -04:00
renovate[bot] 0aac22a9e2 Update dependency @manypkg/get-packages to v3 (#108986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:19:29 +00:00
Oscar Kilhed ef0cc4fd75 Dashboards: Fix issue where the time range picker would seemingly be hidden behind the side menu if it was set to always open. (#108607)
Unset overflow hidden to make sure the time range picker is fully visible
2025-07-31 17:13:23 +02:00
kay delaney aa0f9bb1a0 UI/ClickOutsideWrapper: Convert to functional component and add test (#108765) 2025-07-31 16:09:30 +01:00
Dana Axinte 2d81d03ba5 SecretsManager: Consolidation proto/gRPC (#108857)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* initial secrets consolidation

* Revert defaults

* consolidate grpc proto

* More verbose description of the operation

* Add consolidation tests and tracing

* Fix lint

* Revert debug log

* Move buf to top level, regenerate

* Update Makefile buf generate
2025-07-31 16:05:24 +01:00
Tom Ratcliffe 4a0758bae5 Teams: Tidy up CreateTeam tests and add fixtures/handlers (#108978)
* Add fixtures and mock handlers for legacy teams API

* Fix teams betterer issues and error handling

* Refactor CreateTeams tests

* Update .betterer.results
2025-07-31 16:01:43 +01:00
Paul Marbach 0ca2843fa3 E2E: Disable flaky Table e2e tests for DataLinks for now (#108980) 2025-07-31 10:56:06 -04:00
Yunwen Zheng beab4cb33c useProvisionedRequestHandler: Refactor to support more resource type (#108945)
* useProvisionedRequestHandler: refactor to support more resource type
2025-07-31 10:48:08 -04:00
Larissa Wandzura 0cc636665a Docs: MSSQL data source overhaul (#107478)
* created config doc

* updated the config doc

* updates to the configure doc

* updates to configure doc

* updated the templates doc

* more query editor edits

* final edit on templates doc

* final query editor edits and new screenshots

* added tables to configure

* final edits

* final edits

* final edits

* added admonition and updates based on feedback

* ran prettier
2025-07-31 14:44:24 +00:00
Matheus Macabu c3f6265698 Makefile: Fix typo on run-bra command (#108979)
It was actually run-air but should be run-bra !
2025-07-31 14:43:29 +00:00
Matheus Macabu cfb5f5601f Secrets: Add inline secure value can reference method (#108965) 2025-07-31 16:42:40 +02:00
renovate[bot] d2c008c96e Update typescript-eslint monorepo to v8.38.0 (#108985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 14:35:01 +00:00
Tobias Skarhed 972e2f31e5 ScopesInput: Display parent and use + as separator (#107698)
* Display group and use + as separator

* Set/get parent node from URL

* Add hook useScopeNode

* Add loading state and Skeleton

* Add preload and actually commit hook

* Add preload

* Add feature flag

* Update test

* Fix test

* Fix tree test
2025-07-31 16:32:41 +02:00
Yuri Tseretyan 32434810e1 Alerting: Remote Alertmanager to calculate hash of the request payload instead of just the configuration (#108632)
* update CreateGrafanaAlertmanagerConfig to accept UserGrafanaConfig move construction logic to alertmanager
* consolidate building UserGrafanaConfig into buildConfig
* use config to determine whether it needs to be send calculate hash of the entire request struct rather than configuration
2025-07-31 10:25:43 -04:00
Piotr Jamróz 7d8c2fbb82 TraceView: Refine UI visual hierarchy inside details section (#108929)
* TraceView: Span details content redesign

* Unify displaying various sections in span details

* Revert i18n key change

* Update tests
2025-07-31 16:18:53 +02:00
renovate[bot] f3cb8aa903 Update swc monorepo (#108981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 15:07:55 +01:00
Dana Axinte a3cdfce25a SecretsManager: Consolidation service and ability to run via cli (#108774)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* initial secrets consolidation

* Revert defaults

* More verbose description of the operation

* Add consolidation tests and tracing

* Fix lint

* Revert debug log
2025-07-31 14:45:59 +01:00
Konrad Lalik 9907191a7b Alerting: List V2 - Add a group link to the rule list item (#108960)
* Add group link to the aler rule breadcrumbs in the new list view

* Remove redundant comments
2025-07-31 15:32:33 +02:00
renovate[bot] 37ccbd77a9 Update react-spectrum monorepo (#108977)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 14:30:17 +01:00
Gábor Farkas 5a67e9d640 query: add unit test (#108958) 2025-07-31 15:26:43 +02:00
renovate[bot] 9e0f09e6c3 Update dependency yaml to v2.8.0 (#108975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 13:03:27 +00:00
Ryan McKinley d469a32491 K8s/DataQuery: Register explicit equality function (#108907) 2025-07-31 14:55:02 +02:00
Alexa Vargas 9d2cb8ddf1 Query Library: Add highlightQuery to QueryLibraryContext (#108617)
* add hightlightedQuery to QueryLibraryContext

* revert go changes
2025-07-31 14:52:12 +02:00
renovate[bot] 454fae1786 Update dependency webpack to v5.101.0 (#108972)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 12:37:33 +00:00
dependabot[bot] 41df2e9d26 Bump actions/setup-go from 4.2.1 to 5.5.0 (#108286)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 13:27:36 +01:00
renovate[bot] 3e752c2e35 Update dependency typescript to v5.8.3 (#108966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 13:11:46 +01:00
lean.dev e022b6593b SecretsManager: fix log (#108970) 2025-07-31 11:51:04 +00:00
Peter Štibraný 372f115db9 Finish building index even if original context is canceled. (#108969) 2025-07-31 13:45:55 +02:00
Bogdan Matei 6cd85eb1b3 Dashboard: Fix for viewing a repeated panel that is out of view (#108912) 2025-07-31 13:33:03 +03:00
Gareth 04a563cb09 Jaeger: remove unused code (#108612)
* remove isSearchFormValid

* remove getTimeRange

* remove convertTagsLogfmt

* remove createTableFrame

* remove transformToLogfmt

* remove types

* remove mapJaegerDependenciesResponse

* trigger workflow
2025-07-31 11:30:15 +01:00
renovate[bot] a3e1920983 Update dependency ts-jest to v29.4.0 (#108964)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 11:14:02 +01:00
Alexander Akhmetov 1ad042b4e0 Alerting: Mark Prometheus to Grafana conversion API as stable (#103499)
Alerting: Make Prometheus conversion API stable
2025-07-31 11:56:15 +02:00
Oscar Kilhed e7cfe0c023 Dashboards: Add feature toggle to use dashboard level time macros in scenes (#108670)
* Add feature toggle to use dashboard level time macros in scenes

* Add test

* remove unregister time macro as it was removed from scenes
2025-07-31 11:49:07 +02:00
renovate[bot] d71924ea7b Update dependency stylelint to v16.23.0 (#108963)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 10:39:29 +01:00
Serge Zaitsev 6b1143565a Chore: Make cgo optional (for sqlite) (#108756)
* make cgo optional for sqlite

* update go.mod; check error code differently

* reduce api surface even more

* move test errors into sqlite package

* add a comment
2025-07-31 09:25:19 +00:00
Roberto Jimenez Sanchez f39b878b0a Add Git Sync team as owner of the Git Sync dependencies 2025-07-31 11:14:27 +02:00
Roberto Jimenez Sanchez c9cf44c4d7 Add Git Sync team as owner of the integration tests 2025-07-31 11:14:27 +02:00
renovate[bot] 8b600f40c1 Update dependency eslint-plugin-no-barrel-files to v1.2.2 (#108961)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 08:50:01 +00:00
Matheus Macabu 80d7892d6a Secrets: Save owner reference fields in secure value db table (#108905)
* Secrets: Save owner reference fields in secure value db table

* Save api group and version separately
2025-07-31 10:42:19 +02:00
Tobias Skarhed 66bebe94e0 Scopes: Add autofocus, aria-label and search area to selector (#108906)
* Add autofocus, aria-label and search area

* Clean up search area

* Clean up search area

* Add test

* Remove superflous memo

* Undo values change
2025-07-31 10:28:24 +02:00
Ivana Huckova b11509fea2 Loki: Decouple unit tests from core (#108917)
* Loki: Decouple tests

* Fix flaky tests

* Add maxParallel 2 for plugin tests
2025-07-31 10:20:28 +02:00
renovate[bot] 6809df5427 Update dependency jsdom-testing-mocks to v1.15.2 (#108940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-31 09:18:32 +01:00
Alexander Akhmetov 6db07b901c Alerting: Enable HA clustering in remote primary mode (#108930) 2025-07-31 09:55:08 +02:00
Bruno Abrantes 91e5e8019d chore: add documentation on unified search (#108847)
* chore: add documentation on unified search

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

* fix: add additional needed feature flags for unified search

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

* fix: add docs about index_min_count and index_max_count

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

* fix: add documentation about sortable fields and the discrepancy with search/sortable

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

* fix: kubernetesClientDashboardsFolders feature flag is no more, remove it from the docs

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

* fix: simplify request flow diagrams

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

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-31 07:18:29 +00:00
Konrad Lalik ef80129bd9 Alerting: Fix contact points scoped permission check (#108851)
* Fix scoped contact point permission check

* Use annotations permissions for k8s API and globals permissions for external AMs

* Fix scoped permission check for GrafanaReceiverForm
2025-07-31 09:17:42 +02:00
grafana-pr-automation[bot] f1821988d9 I18n: Download translations from Crowdin (#108954)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-31 00:40:54 +00:00
Todd Treece 8729ea2dba Apps: Fix status key functions (#108915) 2025-07-30 17:11:39 -04:00
Adela Almasan 0f53290ca7 Chore: Decouple hideFrom.viz and hideFrom.tooltip (#106857) 2025-07-30 15:32:43 -05:00
Adela Almasan 9022357fb7 Canvas: Add option to disable the tooltip (#108196) 2025-07-30 20:26:36 +00:00
Adela Almasan 5b0a118f32 Canvas: Add support for actions variables when one-click is enabled (#108724) 2025-07-30 14:28:58 -05:00
Ezequiel Victorero eecd813c59 Chore: Update test case (#108943) 2025-07-30 16:02:36 -03:00
lean.dev 6bf542889a SecretsManager: Refactor and clean metrics (#108908) 2025-07-30 20:00:30 +01:00
Adam Yeats 8fb1483a9f Elasticsearch: Remove link to Elasticsearch Templated Dashboard from docs (#108555)
Remove link to Elasticsearch Templated Dashboard from docs
2025-07-30 18:12:59 +00:00
Juan Cabanas 68ed7c129d QueryLibrary: Add CoreApp for QueryEditor rendering (#108867) 2025-07-30 15:12:35 -03:00
Sarah Zinger 60ce4ad1fa Ds-querier: add slug to logs (#108822) 2025-07-30 17:46:38 +00:00
Stephanie Hingtgen 34019e5ec0 Library Panels: Remove k8s connections feature flag (#108881) 2025-07-30 16:46:19 +00:00
Alexander Akhmetov c8c017a6f5 Chore: make update-workspace (#108942) 2025-07-30 18:37:33 +02:00
Nathan Marrs af6ac6f1d6 Sharing: Export dashboard as image match user's window width (#108827) 2025-07-30 08:59:39 -07:00
renovate[bot] ae15ba562e Update dependency @types/node to v22.17.0 (#108936)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 16:47:15 +01:00
renovate[bot] 9ff44d17f2 Update dependency @floating-ui/react to v0.27.15 (#108922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 15:52:56 +01:00
Ashley Harrison 4fae330f9b Chore: update nginx config to match hosted-grafana (#108898)
update nginx config to match hosted-grafana
2025-07-30 15:36:57 +01:00
Peter Štibraný c28b2215e0 Improve indexing observability (#108901)
* Add details to tracing spans when creating index.

* Log reason for building index.

* Log reason for building index.

* Remove initialization of labels to avoid unnecessary metrics.

* Track succcessful, failed and skiped index builds. Track index build time for individual index, not all indexes.

* Revert removal of labels initialization.
2025-07-30 16:34:15 +02:00
Mustafa Sencer Özcan 98e37f2ca9 fix: special handling of unmarshalling for invalid json dashboards (#108519)
* implement special dashboard fallback logic when dashboard data has invalid json behind feature flag

---------

Co-authored-by: Will Assis <william@williamassis.com>
2025-07-30 10:18:38 -04:00
Adam Yeats 4a34a2313c InfluxDB: Fix backend queries sharing time ranges (#108873)
Fix backend queries sharing time ranges
2025-07-30 09:14:44 -05:00
Usman Ahmad f7f8a52bda MySQL documentation major improvements (#107690)
* added keywords and fixed description

* Update (dateColumn) description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Mount docs from the current repository

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

* Clean up variables

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

* Improve timeFilter and timeGroup macro description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Fix timefilter macro example formatting

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Fix time macro example formatting

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Remove extra spaces from timefilter macro example

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Introduce new table and Add examples for time, timeFilter and timeGroup Macros

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Improve existing examples of timeGroupAlias Macro

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Remove data frame description

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fixed the homepage with valid links

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Add Table Panel results for Macros

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fixed and define the configuration part for grafana mysql user

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* fixed port typo

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* remove the sqlDatasourceDatabaseSelection based https://github.com/grafana/grafana/issues/105232

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* added annotation single tag example

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Change format type

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* fix minor typos and run prettier

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Address Macros specific changes

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* Revert column name and replace URL with version substitution

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>

* re-added the text for the feature flag

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* revert back the changes for the grafana mysql usage

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* fixed links as per writers toolkit guide

* run prettier

Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>

* Update docs/sources/datasources/mysql/query-editor/_index.md

thanks

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Signed-off-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Usman Ahmad <usman.ahmad@grafana.com>
Co-authored-by: Sheikh-Abubaker <sheikhabubaker761@gmail.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-07-30 09:03:44 -05:00
renovate[bot] 04c53678fa Update React Aria (#108895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 15:03:10 +01:00
Ashley Harrison 87f587507a Frontend service: Ensure we're always loading either the light or dark assets for any theme (#108902)
ensure we're always loading either the light or dark assets for other themes
2025-07-30 15:01:35 +01:00
Kevin Minehart 788e91c57b CI: remove nightly builds in drone (#108913)
remove nightly builds in drone
2025-07-30 13:43:47 +00:00
Dominik Prokop d790fdf081 Schema V2: Fix apiVersion for conversion to v2beta1 (#108916)
SchemaV2: Fix apiVersion for conversion to v2beta1

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-30 13:38:43 +00:00
Ezequiel Victorero 006ea8e1b9 ShortURL: Fix tests and small refactor (#108871) 2025-07-30 10:31:11 -03:00
Dominik Prokop bb45dc88ac Dashboard: Tweak interaction performance tracking (#108658)
* Dashboard: Tweak interaction tracking

* Bump scenes to canary (https://github.com/grafana/scenes/pull/1195)

* Update naming

* Use latest canary

* Update cenes, introduce singleton dashboard profiler, instrument v2 schema dashboard

* Fix an oooooqpsiiii

* Bmp scenes to 6.28.5

* Add documentation

* Add event start/end time stamps, update documentation. Bump scenes

* Docs

* Move file

* Typos
2025-07-30 15:23:48 +02:00
Dominik Prokop 20b08ccaab Add v2beta1 api version: Consolidate schema breaking changes (#108172)
* Revert "Revert: Future-proofing query and data source model in Dashboard Sche… (#107985)"

This reverts commit 13a89d4ae3.

* Revert "Revert "Schema V2: Simplify annotations v1<->v2 conversions" (#107984)"

This reverts commit 2b8c5bea1a.

* make gen apps

* e2e update

* Use v2alpha2 by default (#108177)

* Use v2alpha2 by default

* Apply only DS changes to alpha2

* Use v2alpha2 by default except to query

* Create a v2 index in @grafana/schema

* Update path and apply lint

* Update tests

* Update imports to v2 status

* Fix failing openapi test

* Schemav2 breaking changes: conversion implementation (#108224)

* provision v2alpha1 dashboard

* Run conversions for DS refactor

* Run snapshot testing on conversions

* Normalize output name

* Update snapshots to include all panel and variable cases

* fix lint

* fix lint

* fix test and go lint

* more go lint

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>

* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variable (#108237)

* Schema v2: Introduce group/datasource convention to GroupBy and AdHoc variables

* add conversion

* App Installer: Authorizer support (#108419)

* Chore: use `satisfies` and remove a load of `any`s (#108397)

use satisfies and remove a load of anys

* improve logging and fail unified-storage migration with more than 0 errors (#108471)

improve logging and fail unified-storage migration with more than 0 errors

* fix conversion test

* Secrets: Create more granular fixed roles for SecureValues (#108382)

* Provisioning: Fix bug in job progress recording (#108440)

Fix bug in job progress recording

* Provisioning: Fix ImportAllPanelsFromLocalRepository test (#108441)

* Provisioning: Skip flaky test

* Fix flaky provisioning test

* Fix lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>

* BulkDeleteProvisionedResource: Move progress bar into a second step (#108417)

* Move progress bar into a second step

---------

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

* [Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body (#108476)

[Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body to make sure new versions have the same settings.

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>

* Dashboard Schema V2: Refactor VizConfigKind to follow DataQueryKind convention (#108148)

* Dashboards API: Register v2alpha2 API

* Prepare conversion functions

* Fix test

* Refactor VizConfigKind to follow DataQueryKind convention

* fix tests

* use new dataquerykind convention alpha 2

* add conversion

* fix tests

* fix tests

* fix another test

* Fix merge

---------

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

* fix k8s codegen

* Update e2e-playwright/dashboards/TestV2Dashboard.json

* Update e2e/dashboards/TestV2Dashboard.json

* revert app generation for non-related apps

* try again

* another try

* also revert folder and secret app generation

* v2alpha1 provisioned dashboard

* Fix kind

* Fix conversion snapshots

* Update API discovery registry

* Rename to v2beta1

* Rename migrations

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/doc.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Ensure conditional rendering and other non changed properties

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
Co-authored-by: Will Assis <35489495+gassiss@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Yunwen Zheng <yunwen.zheng@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Austin Pond <IfSentient@users.noreply.github.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-30 15:01:27 +02:00
Ashley Harrison f92752c2f0 Chore: Harden panel-layouts test by wrapping synchronous checks in .toPass() (#108849)
harden panel layouts test by wrapping synchronous checks in .toPass()
2025-07-30 13:59:32 +01:00
Jason Marshall 599fe5a400 Remove deprecated links tags in favor of depends_on (#106680)
These prevent grafana from working with podman.
2025-07-30 14:49:17 +02:00
Zoltán Bedi 3ff4c6a2d2 Postgres: Switch the datasource plugin from lib/pq to pgx (#108443)
* Postgres: Switch the datasource plugin from lib/pq to pgx

* Fix lint
2025-07-30 14:47:25 +02:00
Jack Westbrook b707cd28f1 Frontend: Move toEmit jest matchers to shared workspace (#108610)
* feat(test-utils): move the toEmitValue/s jest matchers to test-utils and add test script

* chore(jest): update configs to use matchers from test-utils package

* ci(frontend-tests): hook up packages tests

* fix(test-utils): re-export matchers from index.ts so packages that include setupTests don't error

* ci(pr-frontend-unit-tests): add frontend-packages-unit-tests to list of required unit tests

* Update packages/grafana-test-utils/README.md

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-07-30 14:39:44 +02:00
Alexa Vargas afdb3d7c95 Chore: Change Public Dashboards and Image Renderer AutoTriage to operator experience squad (#108910)
Chore: Change Public Dashboards AutoTriage to operator experience squad
2025-07-30 12:27:22 +00:00
Tom Glenn e87fba7dc1 Tom/foundation sdk docs (#106283)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-07-30 11:50:00 +00:00
Gilles De Mey 07a561d24e Alerting: Remove incorrect usage of "title" for alerting page wrapper (#108180) 2025-07-30 10:10:10 +00:00
Yulia Shanyrova d14e794aa4 Plugins: Cards view for plugin versions in case of narrow screen (#108843)
add card view for narrow screen for versions table
2025-07-30 11:44:43 +02:00
Gilles De Mey 5ef3201939 Alerting: Paginate data source managed rules within groups (#108803) 2025-07-30 11:44:03 +02:00
Andre Pereira d5bcc606b0 Trace View: Header redesign (#108473)
* Improve trace view header design

* Added plugin extension for more actions

* Translations

* Tweaks based on feedback

* lint

* Limit to 2 links per plugin

* Add datasource to context so LLM has less to figure out

* Fix conflict :)

* Remove unused file

* i18n extract

* Updated tests

* lint

* Re-add the feedback link

* i18n-extract

* fix tests

---------

Co-authored-by: Joey <joey.tawadrous@grafana.com>
2025-07-30 09:20:39 +00:00
Andreas Christou e10063b0c7 Azure: Bump Azure SDK (#108859)
* Bump Azure SDK

* Workspace sync
2025-07-30 10:16:33 +01:00
Tobias Skarhed 6c3233e775 Scopes: Proper usage of checkbox label (#108892)
* Proper use of label for checkbox

* Cleanup
2025-07-30 11:01:27 +02:00
renovate[bot] b6819a2212 Update dependency react-i18next to v15.6.1 (#108890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 08:58:57 +00:00
Bruno Abrantes a81c28b153 chore: include stackId when marking a dashboard as rejected during migration (#108887)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-30 08:37:10 +00:00
Roberto Jiménez Sánchez f4e45bf3bc Provisioning: bulk move by name (#108869)
* Add ResourceRef to move job spec
* Implement move by name
* Use map to struct
2025-07-30 11:30:24 +03:00
renovate[bot] f4335fc5ce Update dependency kbar to v0.1.0-beta.48 (#108844)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 09:26:36 +01:00
grafana-pr-automation[bot] 79a9981a0b I18n: Download translations from Crowdin (#108882)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-30 08:21:53 +00:00
Josh Kirkwood 8bfaac5ec5 Docs: Updated 'Run Grafana Docker image' with minor cosmetic changes. (#108831)
* Update index.md

Adjusted codeblock formatting from yaml syntax rather than bash.

* Ran 'yarn prettier write' in index.md to ensure formatting was correct after completing prior changes.
2025-07-30 08:15:34 +00:00
Ashley Harrison 664188b7e0 Chore: Remove panels-suite from cypress tests (#108709)
remove panels-suite from cypress tests
2025-07-30 09:15:01 +01:00
Jennifer Villa af066d2312 Explore: Compact mode (#107351)
* feat(explore): implement compact mode feature

This commit implements compact mode for Grafana Explore to address issue #102867.

Features implemented:
- URL parameter support: ?compact=true or ?compact=1 activates compact mode
- Query rows auto-collapse: Query editors start collapsed showing summary line
- Content outline auto-collapse: Sections start collapsed to save space
- Single DrilldownAlertBox: Shows single banner in split view (no duplicates)

Changes:
- Added compactMode to ExploreState interface and selectors
- Added URL parameter parsing in useStateSync hook
- Modified QueryRows and QueryEditorRow components to support compact mode
- Updated DrilldownAlertBox logic to prevent duplicates in split view
- Fixed test files to use proper mock state objects

Fixes #102867

* Move compact mode to pane state and sync with URL

* Clean up

* Show Drilldown alert box only when not splitted

* Rename and clean up

* Clean up

* Add missing props

* Add missing props

* Add missing translations

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-07-30 09:20:01 +02:00
Stephanie Hingtgen 1f025fe1a3 K8s: Remove kubernetesClientDashboardsFolders feature flag (#108626) 2025-07-29 16:52:57 -05:00
Kevin Minehart e3cb84bef8 CI: specify what matrix jobs set the --verified flag (#108880)
specify what matrix jobs set the --verified flag
2025-07-29 15:40:30 -05:00
Alexander Akhmetov c827ddf790 Alerting: Add meta-monitoring documentation for GRAFANA_ALERTS (#108785) 2025-07-29 21:54:44 +02:00
Alexander Akhmetov 412704c9de Alerting: Document Mimir compatibility for Prometheus conversion API endpoints (#108741)
Document Mimir compatibility for Prometheus conversion API endpoints
2025-07-29 21:53:24 +02:00
Gabriel MABILLE 69dc5a0b88 grafana-iam: Add resolver for permissions:type:delegate (#108789)
* `grafana-iam`: Add resolver for `permissions:type:delegate`

* roles create -> write
2025-07-29 21:11:06 +02:00
Yunwen Zheng 2b9a646599 Git Sync: Bulk move resource (#108818)
* Bulk move for provisioning resources
2025-07-29 14:29:22 -04:00
Sam Jewell 2174a84b36 BarChart: Add ad-hoc filter button to tooltip (#107874)
**What is this feature?**
Allow AdHoc filters to be set from Tooltips when clicking on bars in the BarChart panel.

**Why do we need this feature?**
We're trying to implement a "Panel to Panel" filtering behaviour, similar to what is possible in Tableau and Looker. We're using AdHoc filters, as these scale well across panels and across dimensions in the data.
We expect this PR will work well in tandem with #108011 to allow panel-to-panel filtering of data coming from BigQuery.

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-29 18:53:43 +01:00
Thomas Bishop 89cd2284cb Update some labels to now triage to SNO instead of FEP or Dashboard Squads (#108717) 2025-07-29 12:18:40 -05:00
Kevin Minehart 35f0dd8ec3 CI: remove ppcle64 and 390x from viceroy dpkg (#108866)
* remove ppcle64 and 390x from viceroy dpkg

* fix apt-get update

* remove armel
2025-07-29 16:53:13 +00:00
Gilles De Mey 29b30a38f0 Alerting: Adds "testing" target to package (#107728) 2025-07-29 16:46:16 +00:00
Matias Chomicki dd6a3ecd62 New Logs Panel: highlighting improvements (#108858)
* LogLine: emphasize values over keys

* LogLine: extend clickable area

* Revert "LogLine: extend clickable area"

This reverts commit 7e6906312c.
2025-07-29 17:53:30 +02:00
Peter Štibraný 41319f90bb search: Handle index build errors gracefully (#108862)
* Close new index if we fail to build it.

* Respect context cancellation in getOrCreateIndex.
2025-07-29 17:40:16 +02:00
Roberto Jiménez Sánchez 1a246739ed Provisioning: Add bulk move job (#108762)
* Add move job to spec

* Add move worker

* Single commit mode

* Add initial integration tests

* Format code

* Improve test setup

* Add fixes for integration tests

* Implement move operation

* Format file

* Fix API documentation
2025-07-29 17:24:17 +02:00
Ivana Huckova 66be589d86 Loki: Fix tests for test decoupling (#108678)
* Loki: Fix tests for test decoupling

* Update

* Add test and fix implementarion

* Remove empty line

* prettier
2025-07-29 16:32:09 +02:00
Kevin Minehart 5ce827ce4c CI: Use playwright in daggerbuild (#108860)
* Use playwright in daggerbuild

* use e2e-playwright image
2025-07-29 14:25:21 +00:00
Konrad Lalik 10e2c32b58 Alerting: List V2 - add fuzzy search (#108656)
* Extract fuzzySearch to separate files and add fuzzy search to the listV2 filter

* Use the new fuzzy helpers in the old list view

* Extract more code to common fuzzy functions

* Update tests

* Add comments explaining outOfOrder parameter, improve tests

* Migrate the alerting fuzzySearch to @grafana/data fuzzySearch
2025-07-29 16:23:36 +02:00
Alex Khomenko 2bd023edc0 Provisioning: Enable navigating to previous step (#108834)
* Provisioning: Enable navigation to previous step in Wizard

* Show confirmation modal

* Show success message

* Extract
2025-07-29 16:49:51 +03:00
Tania 2c7349f863 OpenFeature: Use types from Go Feature Flag pkg (#108802)
* Use go feature flag types

* Add go-feature-flag module

* Update go.mod

* Update test

* Fix
2025-07-29 15:05:59 +02:00
Stephanie Hingtgen ef9f9c2d8e Secrets service: Allow decrypt through gRPC connection (#108365) 2025-07-29 07:51:37 -05:00
kay delaney 73d64d3e46 Undo/Redo: Add undo/redo support for duplication in custom grid layout (#108850)
* Undo/Redo: Add undo/redo support for duplication in custom grid layout

* Fix i18n
2025-07-29 12:34:38 +00:00
Roberto Jiménez Sánchez c7c0268594 Provisioning: bulk delete resources by name (#108833)
* Add resource reference to spec

* Add FindResourcePath

* Fix formatting

* Use ForKind client

* Add unit test for new method

* Format code

* Add integration tests

* Fix unit tests

* Fix formatting

* Find out preferred version based on group and kind

* Handle trailing slash for folders

* Format code

* Fix linting

* Add integration test for folder bulk deletion

* Format code

* Format discovery file

* Deduplicate paths for deletion
2025-07-29 14:29:35 +02:00
Ashley Harrison 720e724234 Playwright: Rename panel test so it has .spec.ts suffix (#108855)
rename test so it runs in interactive mode
2025-07-29 13:25:56 +01:00
Stephanie Hingtgen 1716173f71 Alerting: Move some tests to full integration tests (#108747)
* Alerting: Move some tests to full integration tests

* add back two error handling tests

* imports

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-07-29 12:15:26 +00:00
Artur Wierzbicki 0c10600f95 Live: mention the lack of tls support for ha (#108837)
* clarify live docs

* pretty prettier
2025-07-29 16:06:07 +04:00
Peter Štibraný d9daf2e424 search: Track number of open indexes per storage type. (#108842)
* Track number of open indexes per storage type.

* Fix tests after changing description.
2025-07-29 12:46:34 +02:00
kay delaney df46b45a29 AutoGridLayoutManager: Add undo/redo functionality for pasting a panel (#108797) 2025-07-29 11:20:39 +01:00
Andreas Christou c32aaf63e8 Graphite: Fix overflow of functions editor (#108524)
* Expose setting labelStyles for the Segment components

* Ensure container fills height of text

* Update label styles

* Use classNames instead

* Review

* Lint
2025-07-29 11:16:32 +01:00
Santiago 3c4c3b3f5c Remote Alertmanager: Remove unneeded SmtpFrom and StaticHeaders fields (#108781)
* Remote Alertmanager: Remove unneeded SmtpFrom and StaticHeaders fields

* remove smtpFrom (am struct)

* move smtp field (am struct)

* fix test
2025-07-29 12:14:42 +02:00
kay delaney 51a5b0ab65 Dashboards: Add undo/redo actions for several template variable options (#106818)
* Dashboards: Add undo/redo actions for several template variable options

Also refactors some existing undo/redo code

* Run `make i18n-extract`

* formatting
2025-07-29 10:05:32 +00:00
Stephanie Hingtgen 39b9700048 Folders: Move to integration tests (#108733) 2025-07-29 09:57:44 +00:00
grafana-pr-automation[bot] af72ef31d1 I18n: Download translations from Crowdin (#108828)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-29 10:31:23 +01:00
renovate[bot] 69eda7bcd4 Update dependency @grafana/assistant to v0.0.12 (#108839)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 10:21:44 +01:00
Matheus Macabu 724c775bab Secret: Fix create/delete basic role configuration for secure values (#108840)
They should be for Admins not Editors
2025-07-29 11:19:39 +02:00
Joey 862c92d2be Tempo: Fix missing time range (#108838)
Fix missing time range
2025-07-29 09:55:29 +01:00
Aaron Sanders a84c56e1ef Live: Raise Grafana Live message_size_limit (#108414) 2025-07-29 08:45:21 +00:00
renovate[bot] 168abf8488 Update dependency sass to v1.89.2 (#108811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 09:44:46 +01:00
Stephanie Hingtgen 38cdcb5efd Unistore: Fix federated stats (#108738) 2025-07-29 10:42:20 +02:00
Roberto Jiménez Sánchez 6af1bfe21b Provisioning: Use commit only once mode in bulk delete (#108759)
Use commit only once mode in bulk delete
2025-07-29 10:37:27 +02:00
Ashley Harrison a2698dc3b5 Chore: Unskip some a11y story checks and fix any associated issues (#108613)
* fix some a11y issues with the stories

* fix lockfile

* fix tests

* put aria-label on <Icon>

* add aria-describedby

* undo changes to VizLegendTable

* use useID for image id
2025-07-29 09:30:18 +01:00
Stephanie Hingtgen fe906dfc1e Dashboards: Move to integration tests (#108734) 2025-07-29 09:52:27 +02:00
Russ 4392cea75a chore: add an option to hide the metrics browser in a PromQueryField (#108718) 2025-07-28 14:23:41 -08:00
Drew Slobodnjak bee169d7a6 Geomap: Add option to toggle no-repeating (#108201)
* Geomap: Add option to toggle no-repeating

* Add option and apply to all basemaps

* Clean up some comments

* Update docs

* Add tests

* Fix option change handling issues

* Update translations

* Fix e2e test
2025-07-28 14:06:33 -07:00
Paul Marbach 4b9e03e7c0 TableNG: Simplify row height calculation and make more extensible (#108624)
* TableNG: Simplify row height calculation and make more extensible

* add a cache for the results of rowHeight when it's a function

* JSDoc comment for util

* from the other branch, copy the related code and tests

* rework the line counters a bit, limit line counting to string fields

* add test for string case for buildRowLineCounters

* add the concept of estimates vs. counts

* add a comment

* ceil, not floor

* try to be as terse as possible

* test for estimates

* comment the type

* more comment in test

* swap

* fix #108804

* convert em letter spacing to px for avgCharWidth calculation

* tweak whee em-to-px math happens, and force count to occur on every row when wrap is on to avoid short row issues

* update test

* update to clamp single-line estimation using a hardcoded value (0.85)

* add assertion for not calling counter in that case

* uwrap 0.1.2

* fix betterer issues

* fix typography ctx extra import

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-28 21:03:55 +00:00
Gábor Farkas 8b940f210f datasources: querier: temporary concurrency fix (#108503) 2025-07-28 13:58:11 -04:00
Stephanie Hingtgen caa75b1d94 Public dashboards: move to integration tests (#108735) 2025-07-28 17:14:09 +00:00
Stephanie Hingtgen 5ef744aa20 Library panels: Move to integration tests (#108737) 2025-07-28 11:38:10 -05:00
Stephanie Hingtgen f41570a6f7 Annotations: Move to integration tests (#108736) 2025-07-28 11:37:17 -05:00
Will Assis aa7ae5fc65 unified-storage: add tracing to distributor methods (#108791)
* add tracing to distributor methods
2025-07-28 12:35:20 -04:00
Josh Hunt a009da2087 Playwright: Acceptance tests (#108770)
* create a set of acceptance tests to run with bench

* move tests back, fix login tests to work with supplied credentials:

* rename files again

* rename skip message
2025-07-28 17:32:18 +01:00
Ashley Harrison 672e6d08bf Chore: Remove old storybook-verification cypress test (#108696)
* add check for frontend code changing

* remove cache

* add to pr-e2e-tests instead

* fix CODEOWNERS

* remove cypress test
2025-07-28 17:25:02 +01:00
Ashley Harrison b32a6b0088 Chore: Remove smoke-tests-suite from cypress (#108700)
* remove smoke-tests-suite from cypress

* restore shared/smokeTestScenario for enterprise
2025-07-28 17:21:10 +01:00
Alex Spencer 2dd655a50d Correlations: Fix flaky test (#108618)
* chore: fix flaky test

* chore: remove assert in equal, use require instead

* chore: skip flaky test
2025-07-28 09:14:30 -07:00
renovate[bot] 2ee0f93e8c Update scenes to v6.28.2 (#108809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 16:09:18 +00:00
renovate[bot] d5fb158ebd Update dependency rollup to v4.46.1 (#108792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 16:43:04 +01:00
Angel Kozlev 2d3fde4607 Pyroscope: Remove LegacyForms from ConfigEditor (#104973)
* Pyroscope: Remove LegacyForms from ConfigEditor

* Pyroscope: Align fields in form

* Pyroscope: Add id to input and label for a11y

* Update public/app/plugins/datasource/grafana-pyroscope-datasource/ConfigEditor.tsx

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
Co-authored-by: Joey <joey.tawadrous@grafana.com>
2025-07-28 16:21:36 +01:00
Isabella Siu e261d5f14a CloudWatch: Clear log groups when region is changed (#108727) 2025-07-28 10:58:21 -04:00
Alex Khomenko 4c6888654c Provisioning: Re-fetch folders after creating or deleting a repository (#108778)
* refetch folder

* Simplify refetches

* Cleanup

* Tests

* More test mocks

* Function selectors

* Comment

* Remove unused selector
2025-07-28 17:55:28 +03:00
Adam Simpson 6b4d93b8ec querier: check for headers to force expr parsing (#108701)
Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2025-07-28 10:42:32 -04:00
Ashley Harrison fb53a6f077 Chore: Remove cypress dashboard-new-layouts tests (#108699)
remove cypress dashboard-new-layouts tests
2025-07-28 15:30:50 +01:00
Jacob Valdez 6aa3492f4e docs: add video shortcode to what's new (#108793) 2025-07-28 14:08:17 +00:00
Tania 27c395694d OpenFeature: Initialize early (#108594)
* Move OpenFeatureInit

* Remove unused import

* Remove todo
2025-07-28 16:05:57 +02:00
Jacob Valdez 2e07475605 docs: clarifying alert rule limits in Grafana cloud for migration assistant (#108722) 2025-07-28 08:58:13 -05:00
Bruno Abrantes 3a54c3abae chore: adds documentation around the dual writer (#108687)
* chore: adds documentation around the dual writer

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

* fix: innacuracies in error returned, disambiguate (validation) and move table upwards for more clarity

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

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-28 15:50:26 +02:00
Luminessa Starlight f7523f03bc TimeRangePicker: new date range format respecting timezone (#108616)
* replace new mapper additional code with new rangeUtil.describeTimeRange

* add some function descriptions

* add regression tests for timezone-respecting range mapping

* remove unused import
2025-07-28 09:08:35 -04:00
renovate[bot] a3c96b6eed Update dependency @grafana/assistant to v0.0.11 (#108788)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 12:54:17 +00:00
Todd Treece 0c1cd7fa58 Apps: Update grafana-app-sdk to v0.40.1 (#108786) 2025-07-28 12:34:09 +00:00
renovate[bot] 90de360424 Update dependency jsdom-testing-mocks to v1.14.0 (#108760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 13:29:00 +01:00
Matheus Macabu 227799a9f8 Secrets: Add missing indices for secure value (list) and data key (list+read) (#108763) 2025-07-28 14:25:06 +02:00
Serge Zaitsev a95fb3a37c Chore: Omit integration tests if short test flag is passed (#108777)
* omit integration tests if short test flag is passed

* Update pkg/services/ngalert/models/receivers_test.go

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

* Update pkg/tests/api/alerting/api_ruler_test.go

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

* Update pkg/tests/api/alerting/api_ruler_test.go

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

* Update pkg/tests/api/alerting/api_ruler_test.go

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

* Update pkg/tests/api/alerting/api_ruler_test.go

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

* Update pkg/tests/api/alerting/api_ruler_test.go

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

* Update pkg/services/ngalert/models/receivers_test.go

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

* Update pkg/cmd/grafana-cli/commands/datamigrations/to_unified_storage_test.go

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

* Update pkg/services/ngalert/models/receivers_test.go

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

* fix the rest

* false positive

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-28 13:38:54 +02:00
Gabriel MABILLE 1a7a7f1d99 grafana-iam: Wire the roles api (#108577) 2025-07-28 13:36:27 +02:00
Timur Olzhabayev 1c15493635 Chore: Add PR author (#108513)
* add PR author

* show who's PR it is
2025-07-28 11:23:59 +00:00
ismail simsek c88a6fc2e7 Prometheus: Performance improvements for high cardinality metrics in code editor (#108341)
* disable auto fetch

* add partially written metric name situation

* add new limit

* add new methods

* rename methods

* implement auto complete after typing at least three letters

* betterer

* cosmetic changes

* partial or full trigger

* cleaner approach

* lint

* fix

* review feedback
2025-07-28 13:02:16 +02:00
Timur Olzhabayev ce64a78d99 Feat: Improve auto-triager logic to check for internal team members via api (#108578)
improve auto triager logic to check for internal team members via api
2025-07-28 12:51:28 +02:00
Kristina ffb8f4ea0c Transformations: Rename Regression Analysis to Trendline (#108631)
* Rename regression analysis transformation

* fix a couple translations

* remove extra word

* Fix tests

* Change frame name to use regression
2025-07-28 10:50:47 +00:00
Gilles De Mey 814fccb970 Alerting: Use the official maildev image again (#108768) 2025-07-28 12:31:51 +02:00
Konrad Lalik af376cd286 Alerting: Fix backtick handling when hashing queries (#108757)
Update the hashQuery algorithm to handle more formatting edge cases
2025-07-28 12:22:36 +02:00
ti361 4da2c50990 change method "GET" to "DELETE" with the "Delete a report" API (#108750) 2025-07-28 12:10:20 +02:00
Dana Axinte 2ea77a7c05 SecretsManager: Add ability to list all encrypted values (#108512)
* list all encrypted values and count

* separate interfaces

* add time filter to global queries

* fix lint
2025-07-28 10:50:24 +01:00
Alexander Akhmetov f969eb0277 Alerting: Add rule group name validation to the Prometheus conversion API (#108740)
Alerting: Add rule group name validation to the conversion API
2025-07-28 11:44:17 +02:00
Nathan Vērzemnieks 252fc67fbd CloudWatch: Improve smithy error handling (#108523)
* CloudWatch: Improve smithy error handling

* gofmt
2025-07-28 09:43:37 +00:00
Gábor Farkas 8d48dbce66 datasources: querier: handle single-tenant instance config (#108469) 2025-07-28 11:40:26 +02:00
Chris Chang 15f291aa8e Plugins: Add grafana-iot-twinmaker-datasource to forward_settings_to_plugins (#108560)
* Add grafana-iot-twinmaker-datasource to forward settings list

* Remove -app
2025-07-28 11:15:50 +02:00
renovate[bot] 7596dc319c Update dependency @floating-ui/react to v0.27.14 (#108755)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 09:53:57 +01:00
Joey d529eee8cf Tempo: Add options to getTagKeys (#108691)
Add options to getTagKeys so time range and timeRangeForTags can be passed into the Tempo language provider
2025-07-28 09:36:07 +01:00
Mihai Doarna cef7f2b337 SCIM: Update docs with the reject_non_provisioned_users flag (#108657)
* update docs with the reject_non_provisioned_users flag

* update docs with new flag and new create user behaviour

* address feedback

* run prettier
2025-07-28 11:32:14 +03:00
Mihai Doarna f9b34baa35 SCIM: Add flag for rejecting non provisioned users from logging in (#108568)
add flag for rejecting non provisioned users from logging in
2025-07-28 11:31:33 +03:00
renovate[bot] 3a285d9b16 Update dependency eslint to v9.32.0 (#108711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 09:18:20 +01:00
Alexander Akhmetov 4ad80cec1a Alerting: Validate extra configuration with PostableApiAlertingConfig (#108706) 2025-07-28 10:09:26 +02:00
antonio f4b4d8ec95 add video to alerting tutorial pt3 (#108743) 2025-07-28 07:38:03 +00:00
Mariell Hoversholm d0b791000d Docs: Update for certutil in container (#108751)
Co-authored-by: Roman Pertl <roman@pertl.org>
2025-07-28 09:12:30 +02:00
Scott Lepper 713c9921ac Dashboards: Edit pane variable unique key (#107212)
* Dashboards: Edit pane unique key

* lint

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

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>

* lint

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2025-07-28 07:49:38 +02:00
grafana-pr-automation[bot] 910454c84c I18n: Download translations from Crowdin (#108730)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-27 00:32:40 +00:00
Kevin Minehart 8fcfcc31da CI: run release-build on a schedule; also send source-event input to GE (#108726)
* run release-build on a schedule; also send source-event input to GE

* remove cron pipelines from drone
2025-07-25 21:52:09 -05:00
Galen Kistler 01f863c47f TableNG: Take nanos into account for column sorting (#108614)
* feat(ngTable): support nanos

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-25 21:43:36 +00:00
Jev Forsberg bd3606d6b1 Chore: Update 11.6.x support date (#108715)
baldm0mma/ update 11.6.x support date
2025-07-25 13:27:01 -06:00
Isabel Matwawana 87464efb16 Docs: Refactor Variables page and improve content (#108346) 2025-07-25 14:48:10 -04:00
renovate[bot] c94f930950 Update dependency prettier to v3.6.2 (#108689)
* Update dependency prettier to v3.6.2

* run prettier

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-25 17:47:44 +01:00
Roberto Jiménez Sánchez 20cea80795 Provisioning: Add bulk delete job (#108580)
* Add delete job type

* Regenerate spec

* Add first implementation of worker

* Move interface and mock to repository package

* Add unit tests

* Add integration tests

* Fix linting and spec

* Regenerate client

* Format file

* go fmt

* fix

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-25 16:38:10 +00:00
Dave Henderson a82a7f1340 deps(go): Tidying advisor and investigations go modules (#108703)
deps(go): Tidying apps/advisor go module

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-25 12:27:57 -04:00
Zoe C c16117df4e Update Influx Config Options Section in Docs (#108264) 2025-07-25 10:25:55 -06:00
Josh Hunt c1c5c2db8b FS: Handle unavailable backend (#108544)
* add dev mechanism for making backend unavailable

* handle unavailable backend in html

* fix ordering of /-/ routes

* Add new loader to index.html

* tweak light colours

* fix readme

* add error handling and error state

* use setTimeout for the retry loop

* easier on the comments:
2025-07-25 17:21:48 +01:00
Dana Axinte b1b9cc43a8 SecretsManager: Adding ability to disable all DEKs (#108444)
* Adding dek deactivation and rename list dek

* disable data keys from manager

* separate interface and don't use in encryption manager
2025-07-25 17:11:17 +01:00
Michael Mandrus f69f25be5d Chore: Don't show a "Not found" for public-dashboard fetches if the service is disabled via config (#108650)
don't show 404 toast if pubdash is completely disabled
2025-07-25 15:55:10 +00:00
Mihai Doarna 69d3b9023c SCIM Docs: Add mapping in AzureAD for the active attribute (#108669)
add mapping in AzureAD for the active attribute
2025-07-25 18:27:15 +03:00
Santiago dcb965b7dc Remote Alertmanager: Optionally merge remote state before starting the internal Alertmanager (#107710)
* Remote Alertmanager: Use the same struct for Grafana stat and Mimir full state

* Alertmanager: Add methods to merge nflog and silences

* update grafana/alerting version

* make update-workspace

* update mocks

* remove unnecesary methods from the remote Alertmanager implementation, create separate StateMerger interface

* (WIP) Remote Alertmanager: Optionally merge remote state before starting the internal Alertmanager

* cleanup ngalert.go

* restore defaults.ini

* move state parsing logic to 'remote' package, clean up ngalert.go

* remove GetBase, implement MegeNflog and MergeSilences

* delete fmt.Println

* FetchRemoteState -> GetRemoteState

* UserGrafanaState -> UserState

* remove duplicate clusterpb import

* reorder MimirClient interface

* use general getState() method for Grafana state and Mimir full state

* remove unnecessary state merging methods from the Alertmanager interface

* remove pullState field

* reduce diff

* add info log after merging

* merge silences and nflog entries in the same method

* merge the remote state in the forked AM

* reduce diff

* update remote AM mock

* tests

* make error more specific

* typo
2025-07-25 15:06:59 +00:00
Victor Cinaglia 5f6fc38430 iam/authn: Introduce feature flag for authz resource mutations (#108698)
* iam/authz: introduce feature flag for authz resource mutations

* lint: fix typo
2025-07-25 12:05:32 -03:00
Bruno b1592b5e36 Cloud migrations: store snapshots in the database (#108551)
* Cloud migrations: store snapshots in the database

* update github.com/grafana/grafana-cloud-migration-snapshot to v1.9.0

* make update-workspace

* use new field name in test

* return error after call to fmt.Errorf

* create methods for readability / fix session deletiong not deleting snapshots

* remove debugging changes

* update sample.ini

* update tests to include OrgID in ListSnapshotsQuery

* lint

* lint

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

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

* remove TODO

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

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

* remove one of the debug logs

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-25 11:41:21 -03:00
alerting-team[bot] 47cf7ea8b6 Alerting: Update alerting module to 615c8286e14b14347365db1b3db557d74d8952f1 (#108695)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-25 14:22:57 +00:00
Alex Khomenko b4e955ced7 Provisioning: Use move API on dashboards settings page (#108671)
* Provisioning: Use Move API to move dashboards in Dashboards Settings Page

* i18n
2025-07-25 14:09:08 +00:00
lean.dev 69743ed1a4 SecretsManager: remove unused metric (#108694) 2025-07-25 14:04:43 +00:00
Matheus Macabu 97aa3cee88 GHA: Run Go Workspace Checks conditionally on BE changes (#108655) 2025-07-25 15:10:54 +02:00
Sergej-Vlasov 6af2e81cda DashboardEdit: Undo/redo for conditional rendering (#107235)
* add undo/redo for group and base actions

* add undo/redo for rules

* adjust circular dependency issue

* add itemType translations

* adjust how we get rendering group
2025-07-25 13:59:53 +01:00
Konrad Lalik fb08352300 Alerting: Rename draft new rule option (#108597)
* Rename draft new rule option

* Update tests

* Update translation key
2025-07-25 14:42:37 +02:00
renovate[bot] 9ad8881411 Update dependency fork-ts-checker-webpack-plugin to v9.1.0 (#108672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 13:38:05 +01:00
Will Assis f67713726b add debug logs to search server distributor (#108679) 2025-07-25 12:36:35 +00:00
Will Browne 6747b60822 Plugins: Remove pluginsDetailsRightPanel feature toggle (#107321)
remove pluginsDetailsRightPanel feature toggle
2025-07-25 13:02:05 +01:00
Andres Martinez Gotor d25d926462 Advisor: Fix paginated requests for checks (#108583) 2025-07-25 13:42:16 +02:00
renovate[bot] 7e8a471b08 Update dependency ol to v10.6.1 (#98200)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 10:56:07 +00:00
Ashley Harrison 11b49cf7bd Playwright: Some tweaks to improve stability (#108667)
playwright stability tweaks
2025-07-25 10:54:07 +01:00
ismail simsek fa8b631a87 Chore: Improve prometheus language provider documentation (#108661)
* improve documentation

* fix

* betterer
2025-07-25 09:45:09 +00:00
Matheus Macabu c21617a446 Make: Use air as the default for make run (#108652) 2025-07-25 11:32:07 +02:00
Josh Hunt 6b3d8b0a30 Chore: Bump axios (#108663) 2025-07-25 09:10:28 +00:00
renovate[bot] 02f9ebc62e Update dependency @grafana/assistant to v0.0.10 (#108660)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 09:58:39 +01:00
Josh Hunt 5febfc7d9b Playwright: Fix GHA summary step (#108587)
* Playwright: Fix GHA summary step

* add failure to test

* remove failing test
2025-07-25 09:37:15 +01:00
renovate[bot] 0405e5fe52 Update dependency eslint-plugin-import to v2.32.0 (#108622)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 09:32:18 +01:00
Mustafa Sencer Özcan 761150fcb8 fix: enable dashboard api k8s list tests (#106508)
* fix: separate dashboard api tests

* fix: typo

* refactor: revert file rename

* fix: compilable

* fix: trial

* fix: remove unused func

* Pass the right value for kubernetesDashboardsEnabled flag

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

* Enable mode 3 for remaining tests

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

* Disable integration tests for MySQL and Postgres

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

* Run go work use

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

* Update go.mod

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

* Remove TODO comment

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

* Revert to go 1.24.5

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

* go.mod

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

* Remove duplicated block

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

* Experiment without reusing client

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

* Reenable integration tests on Postgres and MySQL

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

* Revert "Experiment without reusing client"

This reverts commit 0126e321a0.

* Reapply "Experiment without reusing client"

This reverts commit 5368b4c531.

* Refactor how we get an adminClient

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

* Add TODO comments

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-25 09:46:02 +02:00
Roberto Jiménez Sánchez 16339b0788 Provisioning: Move repository file API (#108514)
* Bump nanogit version
* Embed git repository in the Github one
2025-07-24 23:28:59 -05:00
Kevin Minehart 22bcd4dab4 Chore: bump version to 12.2.0-pre (#108623)
* bump version to 12.2.0-pre

* make gen-cue
2025-07-24 21:25:26 -05:00
grafana-pr-automation[bot] 4626207155 I18n: Download translations from Crowdin (#108647)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-25 00:40:42 +00:00
Drew Slobodnjak 2196727226 TimeSeries: Add Time Comparison (#104672)
* TimeComparison: Add time comparison option

* Display control conditionally based on option

* Provide timeCompare option to panels that opt in

* Only render time compare if panel supports it

* Create a custom time range compare component

* Move custom component

* Remove button checked

* Move time compare options out of field config

* Fix types and remove from fieldConfigProperty enum

* Remove from field config registry

* Add headerActions to V2 schema

* Remove dependency on timeCompare support registry

* Add feature flag

* Subscribe to options change in wrapper

* Remove custom rendering to simplify wrapper

* Bump scenes version

* Hide checkbox

* Remove unneeded query refresh during disable

* Fix import order in timeseries module

* Add util tests

* Support time comparison toggle for new viz panels

* Revert grafana-app-sdk and manifest changes

* Revert yarn lock
2025-07-24 13:07:28 -07:00
Tania d3b6d7c45e OpenFeature: Add config setting to disable API (#108620)
* Add config option to disable ofrep api

* Apply review feedback
2025-07-24 19:45:22 +00:00
Will Assis 183cd0843e keep instance in the ring on shutdown (#108609) 2025-07-24 15:39:12 -04:00
Isabel Matwawana 227a33fadd Docs: Document cell options by cell type (#106961) 2025-07-24 15:39:01 -04:00
Arati R. 16aee8047c Unified Search: Randomise instance selected by distributor (#108619)
* Randomise instance selected by distributor

* add namespace to distributor logging

---------

Co-authored-by: Will Assis <william@williamassis.com>
2025-07-24 19:38:35 +00:00
Galen Kistler ab92e2cbb6 Transformations: Take nanos into account for Sort by (#108564)
* chore(sortDataFrame): sort by nanos
2025-07-24 18:51:21 +00:00
ismail simsek 0723a51e87 Prometheus: Fix adding labels to the query with empty values (#108611)
* values can be empty

* remove a test
2025-07-24 20:12:43 +02:00
Jacob Valdez a5a45d4476 Docs: removing static options whats new post (#108628) 2025-07-24 18:05:22 +00:00
linoman d578da7bc9 auth: Restore Authentication UI access (#108625)
Restore Authentication UI access
2025-07-24 17:37:02 +00:00
Roberto Jiménez Sánchez e9b9618fb0 Provisioning: Fix stage options for export (#108585)
* Add ref option to stage options

* Fix the issue with ref in export worker

* Add unit tests for export stage options

* Do not fail if ref is equal to the stage branch

* Format code again

* fix test

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-24 16:53:33 +00:00
renovate[bot] 6eb400d1a7 Update dependency eslint-plugin-jest-dom to v5.5.0 (#108606)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 17:53:07 +01:00
Stephanie Hingtgen f515e5af7e CODEOWNERS: Update integration test owners (#108621) 2025-07-24 16:35:12 +00:00
Yunwen Zheng 6b259435ee PreviewBannerViewPR: Display different provider in preview banner (#108490)
* PreviewBannerViewPR: display different provider in preview banner, update copy
2025-07-24 12:31:55 -04:00
Josh Hunt 716ae2a266 re-yarn lock (#108615) 2025-07-24 16:08:42 +00:00
Yuri Tseretyan e280b949e3 Alerting: Refactor remote Alertmanager and Mimir client (#107808)
* deduplicate config preparation logic squashes config preparation in 3 places into a single method buildConfiguration
* remove copying config from decrypt because we already use copy
* move logic from decryptConfiguration to buildConfiguration
* move logic from mergeExtraConfigs to buildConfiguration
* load default config with buildConfiguration method and skip if fails
---------

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2025-07-24 12:00:38 -04:00
Roberto Jiménez Sánchez 915f47befd Provisioning: commit only once staged changes (#108590) 2025-07-24 10:57:02 -05:00
Ivana Huckova e74b4456e4 Update developer-guide.md for running decoupled plugins (#108604)
* Update developer-guide for running decoupled plugins

* Update contribute/developer-guide.md

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

* Fix lint

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-24 17:51:44 +02:00
Ashley Harrison 2be4e44a02 Accessibility: Add storybook a11y tests that run in CI (#108543)
* add test runner and start experimenting with storybook a11y tests

* skip currently failing a11y tests

* first attempt at github action

* fix CODEOWNERS, fix copy assets

* no caching?

* make wait-on better

* increase timeout and add verbose logging

* kick CI

* remove verbose logging, try different runner

* remove commented out code in copyAssets

* try maxWorkers 2

* turn on verbose logging, run as part of same step

* test storybook verify

* try setting LANG

* tidy up

* add betterer test
2025-07-24 16:32:02 +01:00
Drew Slobodnjak 512a553723 Geomap: Add tooltip support for dynamic geojson (#108203)
* Geomap: Add tooltip support for dynamic geojson

* Add tests for tooltip function
2025-07-24 08:10:12 -07:00
Anna Urbiztondo f0b0aa24a3 Advisor - mark as public preview (#108605)
As per https://github.com/grafana/grafana/issues/106893.
2025-07-24 17:01:58 +02:00
Alex Khomenko 4def378a61 Provisioning: Consolidate status display (#108589)
* Provisioning: Centralize wizard errors

* Move alert to shared

* Update pull status

* betterer

* Update warning

* Fix i18n

* Format

* Format[2]

* Extract MessageList

* Add fallback status
2025-07-24 14:59:48 +00:00
renovate[bot] e321ac1075 Update dependency @babel/runtime to v7.28.2 (#108603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:39:39 +00:00
Gábor Farkas 36b0e59905 codeowners: core-services will own pkg/services/query (#108599) 2025-07-24 14:15:09 +00:00
renovate[bot] 97c37e6798 Update dependency react-hook-form to v7.61.1 (#108598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:14:26 +00:00
Anna Urbiztondo c81de5ee67 Updating trace link (#108593)
As reported in https://github.com/grafana/grafana/issues/101443.
2025-07-24 16:00:09 +02:00
renovate[bot] 80bf664c48 Update dependency @grafana/assistant to v0.0.8 (#108592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 14:48:00 +01:00
Mariell Hoversholm 0732389a0a Docs(image-renderer): Update for v4.0.x (#108595) 2025-07-24 13:34:40 +00:00
Yuri Tseretyan 0895d63516 Alerting: Remote Alertmanager to compare current hash with hash from response (#108554) 2025-07-24 09:22:44 -04:00
Sonia Aguilar b129b28d7e Alerting: Fix action buttons flickering in the old list view (#108321)
* fix action buttons flickering in the old list view

* prettier

* address review coments

* remove duplication

* add canCreateGrafanaRules check for ai button
2025-07-24 13:05:56 +00:00
renovate[bot] 1e8b065a0a Update scenes to v6.28.0 (#108548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 12:56:07 +00:00
Victor Cinaglia 4c17c1cbb6 IAM: Instantiate DualWriter only when in single-tenant mode (#108558)
* Instantiate dual writer only in ST case

* minor cleanup

---------

Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
2025-07-24 09:33:53 -03:00
Victor Marin 1c453cd81c Tests: Add user profile timezone settings in DashboardSceneSerializer test (#108584)
fix tests
2025-07-24 13:03:16 +01:00
Sonia Aguilar 2e2bb605ea Alerting: Fix wrong import (#108581)
* fix wrong import

* add eslint rule to no-restricted-imports

* eslint config update

* eslint config update
2025-07-24 13:56:51 +02:00
Andres Martinez Gotor 5066aec64d Advisor: Context handler returns a copy of request (#108508) 2025-07-24 10:32:06 +00:00
Josh Hunt 656c0b56b8 Chore: Bump form-data (#108579) 2025-07-24 10:29:12 +00:00
Jack Westbrook d852bde2a5 Fix: plugin loader cache not matching on decoupled plugin paths (#108529)
* fix(plugins): match decoupled plugin path in fe plugin loader cache

* chore(devenv): update local_cdn to work with latest changes in core

* refactor(plugins): improve legibility by splitting regexs into two

* revert(devenv): revert -oss removal in local_cdn rewrite path
2025-07-24 11:53:30 +02:00
Josh Hunt 559d3a274a Chore: Bump semver version for pa11y (#108573) 2025-07-24 09:41:56 +00:00
Jack Westbrook 15d9df93f9 Fix: Prevent Rollup from treeshaking NPM packages (#108567)
fix(packages): prevent rollup from treeshaking libraries
2025-07-24 10:54:02 +02:00
Mihai Turdean b1de534092 Refactor iam app cue files (#108542)
A breaking change was introduced by this grafana-app-sdk PR: https://github.com/grafana/grafana-app-sdk/pull/795

This PR refactors the definition of our CUE files (manifest and kinds) to match the new model in the latest version of grafana-app-sdk.
2025-07-24 09:52:52 +01:00
Piotr Jamróz 69731658a2 Span Details: Redesign details header (#108511)
* Span Details: Redesign span details header

* Update translations

* Add max width to operation name

* Test update

We don't show the spanId anymore, just the "share" label for each trace
2025-07-24 09:57:23 +02:00
dependabot[bot] 4922bb4065 Bump marocchino/sticky-pull-request-comment from 2.9.3 to 2.9.4 (#108287)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 08:09:39 +01:00
Alex Khomenko d4a609419a Provisioning: Extend Git-based workflows (#108537)
* Provisioning: Replace GitHub check with generic Git provider check

* Provisioning: Replace GitHub check with generic Git provider check

* Fix types

* Codeformat

* Imports
2025-07-24 05:15:17 +00:00
grafana-pr-automation[bot] ada1c4dfdb I18n: Download translations from Crowdin (#108561)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-24 00:45:05 +00:00
Kristina 95eb66be3d Transformations: Extract Fields > Regex should not encode tooltip text (#108410)
do not escape tooltip text
2025-07-23 15:41:27 -07:00
Paul Marbach 63cc23a3ed TableNG: Footer should render summary value in first column if present (#108550)
* TableNG: Footer should render summary value in first column if present

* fix issue where empty fields array meant no calcs were shown

* fix a bug related to hidden fields

* go away from fieldmatcher to use a simple inline solution
2025-07-23 18:06:31 -04:00
Kristina 5bfed408ed SQL Expressions: Enable Auto-complete (#106511)
* First draft autocomplete

* Better naming

* Change suggestion to table/column population

* Remove all suggestions, just use table/column population but trigger on space

* Gate feature flag behind a feature flag

* Reorganize and add function list

* Add blurb about autocomplete to docs

* Update public/app/features/expressions/utils/metaSqlExpr.ts

Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>

* Add try catch, remove promise resolve

---------

Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-07-23 16:49:58 -05:00
Jev Forsberg ed9ef9e5fc Chore: Update supported version docs (#108557)
baldm0mma/ update versions
2025-07-23 14:58:24 -06:00
Will Assis 981fdb29d4 update storage-api to only build index if it owns the namespace (#108418)
* update storage-api to only build index if it owns the namespace

---------

Co-authored-by: Mustafa Sencer Özcan <mustafasencer.ozcan@grafana.com>
2025-07-23 15:59:24 -04:00
github-actions[bot] 4df4f9cc07 Release: update changelog for main (#108533)
* Update changelog

* Update changelog

* jumpstart gha workflows

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

update changelog

* Update changelog

* trigger gha workflows

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-07-23 13:49:59 -06:00
Paul Marbach 26d26f67d4 TableNG: Integrate hover and selection, DataLinkCell cleanup (#108353)
* Table: Style cleanups (minus DataLinkCell word wrap)

* kill JSONCell in favor of a custom display method and style overrides at TableNG

* remove unused type for JSONCellProps

* add increased specificity to CSS selector

* remove inherit and rely on undefined

* fix tests

* shrink and optimize DataLinkCell

* maybe

* format files

* better

* classname

* add Pills and DataLink cells to kitchen sink

* add comment about align + justify, simplify datalinks targeting

* simplify?

* poke

* tweak

* revert

* fix one more z-index conflict

* clean up alignment tests

* a couple more tests

* make TableNG e2e tests more resilient to changes to the gdev dashboard

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-23 19:39:25 +00:00
Paul Marbach d9ef08f824 TableNG: Footer fields declaration should work for displayName or name (#108482)
back to using our own getDisplayNam
2025-07-23 14:49:10 -04:00
Tania 60e0d2d136 OpenFeature: Update authenticated request check (#108539) 2025-07-23 20:27:21 +02:00
Alexander Akhmetov 7c43c061a8 Alerting: Fix deadlocks in provenance table (#106370)
What is this feature?

This PR further improves concurrent updates to the provenance table (a follow-up for #101688). The fix explicitly checks for a provenance record using SELECT ... FOR UPDATE for the databases that support it before performing either an update or upsert operation. This preemptive locking reduces the possibility of deadlocks in MySQL.

This works only with the alertingProvenanceLockWrites feature flag enabled.

Why do we need this feature?

The current implementation (directly performing upserts without prior locking) may still encounter deadlocks because of the gap and insert-intention locks in some configurations, for example, with repeatable-read transaction isolation level in MySQL+InnoDB.

---------

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-07-23 20:16:06 +02:00
Yunwen Zheng 709aeb4e1a BulkDeleteProvisionedResource: Add unit tests (#108484)
* BulkDeleteProvisionedResource: added unit tests and reorganize folder permission

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-07-23 17:12:23 +00:00
Yuri Tseretyan cc869e7668 Alerting: Fix active time intervals when time interval is renamed (#108534) 2025-07-23 13:08:11 -04:00
Matias Chomicki d3a445409b shardQuerySplitting: group has pending requests or no shards to run (#108500)
* shardQuerySplitting: group has pending requests or no shards to run

* Comment

* Regression test
2025-07-23 18:12:12 +02:00
Mihai Turdean e3c1e75da5 Fix Readme (#108081) 2025-07-23 15:55:30 +00:00
Jacob Valdez a449a45452 Docs: What's new, Upgrade guide, and breaking changes v12.1 (#107277)
Co-authored-by: Robby Milo <robbymilo@fastmail.com>
2025-07-23 10:40:55 -05:00
Matias Chomicki 10b235ec75 New Logs Panel: always show horizontal scroll when unwrapped (#108530) 2025-07-23 17:10:22 +02:00
Leon Sorokin 0f9ea44144 XYChart: Lift restrictions around re-using fields for color and size (#106690) 2025-07-23 14:55:58 +00:00
renovate[bot] 0483544b06 Update dependency eslint-plugin-import to v2.32.0 (#108518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 15:34:02 +01:00
Timur Olzhabayev 9f212d11d0 Chore: bump github action version (#108522)
bump github action version
2025-07-23 16:00:12 +02:00
Nathan Vērzemnieks b99e9484d2 CloudWatch: Fix broken test (#108520) 2025-07-23 15:15:44 +02:00
Sonia Aguilar 7c872f0e8a Alerting: Add feedback buttons for the new AI helpers (#108207)
* Add alerting ai buttons for cloud

* add tracking for ai buttons usage

* Empty commit to trigger GitHub Actions

* wip

* add FrontendOnly in ff

* update analytics folder

* prettier

* revert ff being frontend only

* add feedback button in templates

* review comments

* address some review comments

* refactor

* revert change and remove comment

* prettier

* update betterer

* remove unused property

* prettier

* update AIFeedbackComponent

* add feedback buttons for alert rule generation with ai

* remove tracking from oss

* fix analytics imports

* udpdate changes in go.mod go.sum

* prettier

* update translations

* update workspace

* fix betterer

* address pr comments

* move most of the ai feedback buttons code to enterprise

* prettier

* fix

* address pr feedback
2025-07-23 14:38:09 +02:00
Timur Olzhabayev c43a92c1be Choe: add id-token to fetch secrets (#108506)
* add PR author

* adding id-token permissions
2025-07-23 14:33:06 +02:00
Ashley Harrison 60df44bb23 Chore: update CODEOWNERS (#108398)
* remove joint ownership of root packages

* continue separating CODEOWNERS

* more CODEOWNERS, separate into package sections

* more separation

* few more CODEOWNER updates

* index ownership

* make frontend-platform owners of types

* assign @grafana/schema ownership

* update CODEOWNERS

* define more CODEOWNERS

* add more CODEOWNERs

* update CODEOWNERS

* update CODEOWNERS

* update CODEOWNERS

* update CODEOWNERS

* add plugins platform to data/runtime interface

* add featureToggles ownership

* remove frontend-ops ownership
2025-07-23 12:32:22 +01:00
renovate[bot] 06a2630ddd Update dependency eslint to v9.31.0 (#108504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 12:31:36 +01:00
Alex Khomenko f2889c6cc4 Provisioning: Add provider icons (#108510)
* Provisioning: Add provider icons

* Use color logos

* format

* Move img to feature folder
2025-07-23 11:25:11 +00:00
Roberto Jiménez Sánchez 24d898d6a7 Provisioning: Fix flake in delete resources integration test (#108507)
* Fix flake in delete resources test

* Fix linting issue
2025-07-23 11:43:57 +01:00
Matheus Macabu 0e7b041b27 Secrets: Move decrypt types to contracts and export public at root pkg (#108376)
* Secrets: Move decrypt types to contracts and export public at root pkg

* Provisioning: Replace decrypt pkg imports

* Merge wire changes
2025-07-23 12:14:28 +02:00
Sven Grossmann f657044afb LogLine: Add Explain in Assistant option to explain single log lines (#108387)
* LogLine: Add `Explain in Assistant` option

* LogLine: Improve menu and prompt

* LogLine: Mock `@grafana/assistant` in tests

* LogLine: Mock `@grafana/assistant` in tests

* i18n

* LogLine: Expose via loglistcontext

* LogLine: Mock in LogLineDetails

* revert

* revert changes

* LogLine: Fix LogListContext mock

* LogLineControls: Add context props

* LogLineControls: Mock `@grafana/assistant`

* LogLineControls: Remove from props

* LogLineControls: Lint menu

* LogsPanel: Mock `@grafana/assistant`
2025-07-23 12:12:47 +02:00
Josh Hunt 838391cd31 I18n: Prepare locale format for preview (#108501)
* Promote toggle to public preview

* disable RTL locales

* update badge on prefs page to preview
2025-07-23 09:41:22 +00:00
Timur Olzhabayev 89c664dc05 Chore/label internal issues 2 (#108479)
* add PR author

* see if this way of getting org members is correct

* switch to env

* add check for repository

* cleanup logic a bit
2025-07-23 09:41:05 +00:00
Roberto Jiménez Sánchez 946358900c Provisioning: Add warning job status and different strictness (#108446)
* Add warning job status

* Different strictness for export than for pulling

* Fix some unit tests

* Fix unit tests

* Update frontend to display the warning status

* Fix status badge

* Add missing return statement

* Improve text in alert
2025-07-23 09:33:25 +00:00
Sonia Aguilar 3fe21f1cca Alerting: Add pagination for rules in a group in the rule list view v2 (#108436)
* add pagination for rules in a group, in the rule list view v2

* update translations

* remove gap in stack
2025-07-23 11:32:30 +02:00
renovate[bot] 937cdc3682 Update dependency cypress-recurse to v1.37.1 (#108498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-23 10:31:57 +01:00
Ashley Harrison f093b3d620 Chore: Ignore cypress updates (#108496)
ignore cypress updates for now
2025-07-23 10:03:34 +01:00
Josh Hunt ba2804bcfe I18n: Use locale-aware date formatting in grafana-data (#108415)
* use intl locale-aware date formatting

* format range for time picker button

* comment

* fix test setup
2025-07-23 09:23:16 +01:00
Josh Hunt b2688dd5ff I18n: Default regional format to Accept-Language header value (#108468)
* I18n: Default regional format to Accept-Language header value

* comment

* rejigger

* rejigger preferences
2025-07-23 09:23:05 +01:00
Sam Jewell aedd7b6e34 [--Dashboard-- data source] Implement AdHoc filtering (#108011)
Behind a feature toggle: `dashboardDsAdHocFiltering`
2025-07-23 09:12:25 +01:00
Alex Khomenko 08a287e705 Browse dashboards: Hide checkboxes for items user cannot edit (#108427)
* Add test

* BrowseDashboards: Separate folder and dashboard permission checks

* Extract type

* Check for edit permissions

* Prettier

* Refactor test

* Update canEditItemType

* Update render check

* Update the check
2025-07-23 10:10:33 +03:00
grafana-pr-automation[bot] 408ac3086d I18n: Download translations from Crowdin (#108493)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-23 00:40:19 +00:00
Luminessa Starlight 5dac6731cb Docs: Add note for how to enable a feature toggle in development (#108404)
add note for how to enable a feature toggle in development
2025-07-22 14:12:32 -04:00
Josh Hunt 1bd9541507 FrontendService: Add tracing and logging middleware (#107956)
* FrontendService: Add tracing and logging middleware

* tests!

* middleware tests

* context middleware test

* revert http_server back to previous version

* fix lint

* fix test

* use http.NotFound instead of custom http handler

* use existing tracer for package

* use otel/trace.Tracer in request_tracing middleware

* tidy up tracing in contextMiddleware

* fix 404 test

* remove spans from contextMiddleware

* comment
2025-07-22 18:55:44 +01:00
caozhangni 92404d9579 Snapshots: Fix snapshot doc link error (#108477)
Fix: snapshot doc link error
2025-07-22 14:49:29 -03:00
Leon Sorokin d43606cd3e XYChart: Fix hideFrom.tooltip (#108359) 2025-07-22 12:07:34 -05:00
Ashley Harrison 66323b2a19 Internationalisation: More markup in prometheus/grafana-data (#108378)
* mark up units

* remaining category markup

* prometheus translations...

* load prom resources in core

* more prom markup

* don't load prometheus resources directly in core

* isolate @grafana/data import in jest-setup to prevent side effects in tests

* directly use tz
2025-07-22 17:57:05 +01:00
Andreas Christou a421f55cd5 Azure: Fix time management field (#107993)
* Fix mode setting

* Update selector

* Add tests

* Fix condition
2025-07-22 16:47:52 +01:00
Matheus Macabu 52f6104230 Dependencies: Bump Go to v1.24.5 (#108175) 2025-07-22 17:08:40 +02:00
Austin Pond 6222156c7c [Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body (#108476)
[Dashboard Schema Codegen] Move dashboard CUE codegen block back up into kind body to make sure new versions have the same settings.
2025-07-22 14:45:06 +00:00
Yunwen Zheng 2c86460fe3 BulkDeleteProvisionedResource: Move progress bar into a second step (#108417)
* Move progress bar into a second step

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-22 10:31:08 -04:00
Matheus Macabu 0dbede9ba5 Provisioning: Fix ImportAllPanelsFromLocalRepository test (#108441)
* Provisioning: Skip flaky test

* Fix flaky provisioning test

* Fix lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-07-22 14:23:17 +00:00
Roberto Jiménez Sánchez 482872c3bf Provisioning: Fix bug in job progress recording (#108440)
Fix bug in job progress recording
2025-07-22 14:21:22 +00:00
Matheus Macabu 9402071d33 Secrets: Create more granular fixed roles for SecureValues (#108382) 2025-07-22 16:20:54 +02:00
Will Assis 71cb623cb7 improve logging and fail unified-storage migration with more than 0 errors (#108471)
improve logging and fail unified-storage migration with more than 0 errors
2025-07-22 13:44:04 +00:00
Ashley Harrison 85a1a35948 Chore: use satisfies and remove a load of anys (#108397)
use satisfies and remove a load of anys
2025-07-22 13:25:26 +01:00
Todd Treece 52a0485d5b App Installer: Authorizer support (#108419) 2025-07-22 06:45:01 -04:00
renovate[bot] ec9da2678a Update dependency core-js to v3.44.0 (#108435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 10:29:43 +00:00
renovate[bot] 1a879abd4e Update dependency @types/node to v22.16.5 (#108431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 11:04:32 +01:00
Dominik Prokop d72a70d246 Dashboards API: v2alpha2 missing pieces (#108293)
* Dashboards API: v2alpha2 missing pieces

* Fix issue with dashboard client scope for alpha versions

As we now have 2 different alpha versions for v2 we need to store the
clients separately.

* Improve debuggability of provisioning export test

- Add a helper function to print the tree structure.
- Be explicit about the expected file names expected in each case.

* Update pkg/registry/apis/dashboard/mutate.go

* Update pkg/services/authz/zanzana/server/server.go

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>

* Review

* go lint

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2025-07-22 11:44:05 +02:00
Mihai Doarna eeb44c1d63 Docs: Remove LDAP debug view section (#108214)
remove LDAP debug view section from docs
2025-07-22 12:32:24 +03:00
Josh Hunt dfea35f1c1 Lint: Ban string.localeCompare with betterer (#108375)
Ban string.localeCompare with betterer
2025-07-22 09:18:48 +00:00
renovate[bot] 79286515fe Update dependency @types/babel__preset-env to v7.10.0 (#108429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:13:27 +00:00
Josh Hunt c3243bd100 Context: Clean up contexthandler.Middleware spans (#108188)
* Context: Clean up contexthandler.Middleware spans

* seperate the middleware span from the rest of the request

* shuffle

* put of back

* span name

* Update pkg/services/contexthandler/contexthandler.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-22 08:53:28 +00:00
renovate[bot] abd519899f Update dependency @testing-library/react to v16.3.0 (#108428)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 08:47:52 +00:00
Will Browne 7f065c94de Plugins: Remove pluginsCDNSyncLoader feature toggle (#108389)
* remove pluginsCDNSyncLoader feature toggle

* fix lint issues

* fix other linter issue
2025-07-22 09:33:23 +01:00
renovate[bot] 56f6030c5e Update dependency @pmmmwh/react-refresh-webpack-plugin to v0.6.1 (#108407)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:22:40 +01:00
Timur Olzhabayev 487c38da56 Chore: auto label internal issues (#108013)
* add PR author

* catch all for internal issues

* ubuntu latest

* no need to add label here anymore
2025-07-22 10:01:18 +02:00
Will Assis 34f1be796d unified-storage: expose ring replication factor config (#106345)
* config ring replication factor

* change default

* rename

* fix test

* fix
2025-07-22 09:32:22 +02:00
Victor Marin b9997d833f DataSourceAPI: Rename getApplicableFilters to getFiltersApplicability (#107775)
* refactor getApplicableFilters to getFiltersApplicability

* add origin property as well

* add comments
2025-07-22 10:14:57 +03:00
grafana-pr-automation[bot] 2cb61cfb38 I18n: Download translations from Crowdin (#108420)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-22 00:40:41 +00:00
Todd Treece e5d2f92384 K8s: Add App SDK installer (#107773) 2025-07-21 13:32:15 -04:00
Adela Almasan 548964f728 Chore: Fix console warning for Canvas (#108351) 2025-07-21 11:41:11 -05:00
renovate[bot] ef81f93980 Update dependency @playwright/test to v1.54.1 (#108403)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:32:29 +00:00
Moustafa Baiou 71b5c1d997 Alerting: Update test data for exports which now contain http_configs for receivers (#108405)
This was introduced in https://github.com/grafana/grafana/pull/108190 and missed in the integration
2025-07-21 16:32:21 +00:00
Alex Khomenko 193471c6ae Provisioning: Skip sync step when it's not needed (#108309)
* Skip sync

* Remove onOptionSelect

* Format

* Create job if skipping sync

* Extract job sync into a hook

* i18n

* Cleanup + i18n

* Review comments

* Skip requests and update tests

* Fix sync error
2025-07-21 18:41:31 +03:00
Yunwen Zheng 20d6702e50 Git Sync: Bulk deletion (#107800)
* Git sync bulk delete
2025-07-21 11:41:21 -04:00
renovate[bot] 60a10be931 Update dependency @types/hoist-non-react-statics to v3.3.7 (#108395)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 16:19:33 +01:00
Ashley Harrison 5f3bceaff9 Chore: add minimumReleaseAge to renovate config (#108393)
* add minimumReleaseAge to renovate config

* add minimumReleaseAge to non-grafana packages
2025-07-21 16:18:51 +01:00
Matthew Jacobson 5489c814c0 Alerting: Fix Jira HCL export with fields & add export snapshots test (#108032)
* Alerting: Contact point export snapshot test

* Fix Jira.fields hcl export type to allow map[string]any

Since gohcl does not support this type, we marshal as a string instead
which will be handled in the TF provider.

* mapToJSONStringCodec encoder needed for
TestContactPointFromContactPointExports
2025-07-21 10:24:24 -04:00
Bruno 12a7e03e2f Secrets: encryptionStoreImpl produces metrics (#108390) 2025-07-21 11:00:59 -03:00
renovate[bot] 6ecbe1f61b Update dependency esbuild to v0.25.8 (#108385)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 14:57:34 +01:00
Bruno Abrantes be79eb0ace fix: handle dashboards without version entries in unified storage migration (#108139)
* fix: handle dashboards without version entries in migration

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

* fix: adds AllowFallback flag to enable COALESCE logic explicitly during migrations

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

* fix: update dependencies

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

* fix: maintain original behavior when not using AllowFallback option

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

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 15:32:24 +02:00
dependabot[bot] 73c09efd03 Bump golang.org/x/oauth2 from 0.26.0 to 0.27.0 in /.citools/src/cog (#108369)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-version: 0.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 15:03:58 +02:00
Will Browne cd87bbbdea Plugins: Remove externalCorePlugins feature toggle (#108386)
remove externalCorePlugins feature toggle
2025-07-21 13:55:30 +01:00
Stephanie Hingtgen 5ec3a2b758 K8s: Library panels: move to separate ff (#108384) 2025-07-21 12:53:46 +00:00
Marie Cruz 91825be1dd add data transformations learning journey to transform data docs (#108325)
* add data transformations learning journey to transform data docs

* add shortcode to typescript file instead
2025-07-21 13:43:33 +01:00
Bruno Abrantes e5b6ab1b11 fix: do not migrate library panels to unified storage (#108380)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 14:34:23 +02:00
renovate[bot] 9ff5a18d98 Update dependency monaco-promql to v1.8.0 (#108377)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 13:27:38 +01:00
Bill Franklin b9746cd8d4 Tempo: Downcase OR to or in Loki LogQL query (#106012)
Downcase 'OR' to 'or'

Fixes: https://github.com/grafana/grafana/pull/93923\#issuecomment-2752216436

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-07-21 14:17:16 +02:00
Bruno Abrantes 6c84461b7a fix: Always return searchWrapper to enable shadow traffic (#108373)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-21 13:53:44 +02:00
Matias Chomicki b70d1b0724 New Log Details: Support multiple log details displayed (#108327)
* LogLine: optionally highlight search based on syntax highlighting state

* Log Details: support multiple details open

* Translations

* Add test

* LogLine: allow to highlight frontend searches

* LogLine: improve hover vs details displayed colors

* LogLineDetails: add scroll to log line option and improve toggling behavior

* Translations

* LogLineDetails: prevent sidebar re-rendering

* LogLineDetails: more tests
2025-07-21 13:02:20 +02:00
Josh Hunt ca63c8015d FS: Frontend redirect to /login (#108225)
* Add frontend redirect to login

* Make Login topnav link do a page transition to login page

* Force AppChromeState update when route changes to get new isChromeless state

* Add base url to SignInLink, and add tests

* wrap login page in <Page />

* comment, test

* fix loginPage test

* rejigger signin check, remove chrome from deps
2025-07-21 10:48:53 +00:00
renovate[bot] fde2267387 Update dependency centrifuge to v5.4.0 (#108371)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 11:31:10 +01:00
Matheus Macabu 88acefbb65 CiTools: Install air (#108367) 2025-07-21 12:25:40 +02:00
Sven Grossmann 3c18add70b ExtensionSidebar: Make sure sidebar will not render more than max width (#108374)
ExtensionSidebar: Make sure sidebar will not render more than max
2025-07-21 10:24:26 +00:00
Sven Grossmann b8c1c3c56b DashboardMacro: Fail soft if __dashboard macro exists (#108060) 2025-07-21 11:53:31 +02:00
Matheus Macabu 9e4f2cad47 Secrets: Re-export and map domain errors into K8s API errors in ST client (#108226) 2025-07-21 09:32:20 +00:00
renovate[bot] 2222f3f43c Update dependency downshift to v9.0.10 (#108368)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 10:20:40 +01:00
Joey 96429d7dd8 Tempo: Add time range to tags and tag value requests (#107872)
* Add time range to tags and tag value requests

* Prettier

* Change timeRangeForTags to number and dropdown with options

* Listen to changes and update docs

* Update docs

* Prettier

* Text updates

* Extract getOptionsV2 params to type

* Use this.tagsForTimeRange

* Docs and move section up

* Prettier

* Update docs
2025-07-21 10:14:44 +01:00
Matheus Macabu f7e55f2c5d Secrets: Add authz checks for the single-tenant SecureValue client (#108216) 2025-07-21 11:09:07 +02:00
Matheus Macabu 47abf5f811 Secrets: Clean up unused code (#108366)
* Secrets: Remove unused tracectx pkg

* Secrets: Remove unused assert pkg

* Secrets: Remove unused encryption interface

* Secrets: Remove unused encryption file/ref
2025-07-21 11:08:49 +02:00
renovate[bot] 320491df51 Update dependency @grafana/plugin-e2e to v2.1.7 (#108338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 08:40:01 +00:00
antonio 33316ddb03 add video to alerting tutorial pt2 (#108358)
* add video to alerting tutorial pt2

* removed spacing
2025-07-21 10:28:46 +02:00
Alex Khomenko a090480260 Provisioning: Add new providers (#108173)
* Add new providers

* Extract utils

* Configurable workflow fields

* translate fields

* Add translations

* Update cards

* Add isGitProvider

* i18n

* Dynamic fields for ConfigForm

* Use git fields

* Remove type dropdown for edit

* Display proper type groups

* Display field errors

* Improve error handling

* Refactor data

* Check for repositoryLister

* Fix workflow

* use state var

* betterer

* Prettier

* Prettier[2]

* i18n

* Remove showDropdown

* i18n

* Update step validation

* Add test

* Update provider list

* Cleanup

* Add tokenUser field

* Provider-specific source code link

* Review comments

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-07-21 08:29:41 +03:00
grafana-pr-automation[bot] a4d4ee1bc5 I18n: Download translations from Crowdin (#108361)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-20 00:41:27 +00:00
Nathan Marrs 554e92c408 Invite User: Add invite user button to top nav for admins (#108159)
* reimplement original design

* update button with responsive design that matches other elements in top bar; add comprehensive unit tests

* add a basic call out in docs for new button

* remove doc changes
2025-07-18 18:21:23 -07:00
grafana-pr-automation[bot] 88ec253ad5 I18n: Download translations from Crowdin (#108355)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-19 00:39:49 +00:00
Yuri Tseretyan 5097dd5c7d Alerting: Send templates from extra configuration to remote Alertmanager (#107981)
* extract logging of MergedResult into method

* convert GetMergedTemplateDefinitions to return PostableApiTemplate

* update mergeExtracConfigs to return GrafanaAlertmanagerConfig

* pass by value, not pointer

* add template definition to payload

* update tests

* rename to Templates

* log merge results

* fix reference in workspace
2025-07-18 15:16:17 -04:00
Luminessa Starlight 17ba3ec321 Chore: Disable renovate automerge (#108344)
disable renovate automerge
2025-07-18 15:14:57 -04:00
Sarah Zinger f34127c449 Query Service: Fix Time Bug (#108337) 2025-07-18 18:14:44 +00:00
Paul Marbach 7626508842 Table: Update e2e tests to support tableNextGen (#108184)
* Table: Force tableNextGen to be true for Playwright and false for Cypress

* RDG query for body text contains the headers too

* add some simple tests for row height

* dial in the row height test a little more

* more updates

* filters, pagination

* try this on CI

* more updates to the tests

* more tests

* wait for some sort stuff to flush

* replace class selectors for rdg

* target the click to the anchor in the header
2025-07-18 12:27:04 -04:00
renovate[bot] 4e6730fee6 Update dependency marked to v16.1.1 (#108334)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:25:45 +00:00
Ashley Harrison 2d1fb94f2d Playwright: Gate server start up with GRAFANA_URL env var (#108302)
* refactor so server is created unless GRAFANA_URL is provided

* update documentation

* don't swallow errors from the server process
2025-07-18 17:08:47 +01:00
Luminessa Starlight a7a17c6929 Chore: remove no longer used webpack-dev-server package (#108332)
removed no longer used webpack-dev-server package
2025-07-18 11:38:48 -04:00
renovate[bot] 0148594c30 Update dependency @faker-js/faker to v9.9.0 (#108329)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:27:23 +01:00
renovate[bot] c12fadd8d2 Update dependency @crowdin/crowdin-api-client to v1.46.0 (#108328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 16:27:00 +01:00
Misi 4669b586e9 Security: Fixes for CVE-2025-6197 and CVE-2025-6023 (#108330)
apply security patch: main/439-202506251632.patch

(cherry picked from commit 7f3977c54548dc82d9b2c44c125b30b3dbc2069a)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-18 09:06:26 -06:00
Eric Leijonmarck aa0f8caa35 Authorizer: rename and enforce only once for NewGrafanaAuthorizer (#108294)
* renaming of GrafanaAuthorizer to make it less confusing

* enforce only once by runtime

* comment only
2025-07-18 15:40:34 +01:00
Kevin Yu f009c2dcdd CloudWatch: Handle log alerts queries where the time field is not the first field (#108277)
CloudWatch: handle log alerts queries where the time field is not the first field
2025-07-18 07:29:39 -07:00
Johnny Kartheiser a49b35a7ec Update _index.md (#108192) 2025-07-18 15:10:16 +01:00
maicon 4b440cf45d Remove timeout info from logs when shadow request to search succeeds (#108324)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-18 14:03:42 +00:00
renovate[bot] b6653d4bb6 Update babel monorepo (#108320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 14:58:47 +01:00
renovate[bot] 1edc8e5a73 Update dependency webpack-manifest-plugin to v5.0.1 (#108319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 13:36:21 +00:00
Alexa Vargas a30c0aaaae Dashboard: SchemaV2 - Inline Library Panel during Export (#107201)
* Basic implementation of inline library panel

* modify the warning message, we support the export partially by converting regular panels the library panels

* Improve message around the conversion, keep it concise

* Fix linting

* Refactor conversion, extract existing logic into new funcition and reuse it

* remove unnecesary comment

* show error notification when library panel does not load

* Apply PR feedback, remove unnecesary try catch and return json with error, don't throw

* Add unit tests

* Fix monitoring report, add case when v2 is loaded originally or when transformed from v1

* Add unit tests for detect libraryPanels, relevant for ensure monitoring is correct
2025-07-18 15:06:55 +02:00
Josh Hunt 5905e93c63 Fix yarn start:noLint not working since the predev check (#108313) 2025-07-18 13:55:37 +01:00
renovate[bot] 6222117365 Update dependency @grafana/lezer-traceql to v0.0.23 (#108311)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 13:53:48 +01:00
maicon 2dba473015 Feature/unified storage search dual reader (#108291)
* Add UnifiedStorageSearchDualReaderEnabled feature flag

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

* Refactor UniSearch Dual Reader

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

* Run make gen-feature-toggles

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

* fix: unit tests search_client

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

* feat: cancels shadow search requests after 500ms

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
Co-authored-by: Will Assis <william@williamassis.com>
Co-authored-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-18 14:43:56 +02:00
renovate[bot] 0b451117ee Update dependency webpack-dev-server to v5.2.2 (#108312)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 12:29:05 +00:00
linoman b4f7c692f5 SCIM: add non ga banner (#108301)
* Add warning banner to Authentication List Page

* i18n update
2025-07-18 14:01:05 +02:00
Alex Bikfalvi 28109ee192 Tempo: New features for TraceQL grammar (#107000)
Support the following features in the TraceQL syntax grammar:

* New instrinsic field: `span:parentID`
* `with(most_recent=true)`

Fixes: https://github.com/grafana/grafana/issues/106978
Fixes: https://github.com/grafana/grafana/issues/104159

Signed-off-by: Alex Bikfalvi <alex.bikfalvi@grafana.com>
2025-07-18 13:47:53 +02:00
renovate[bot] 8eec858054 Update dependency terser-webpack-plugin to v5.3.14 (#108307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:29:25 +00:00
renovate[bot] ddb034b4a0 Update dependency sass-loader to v16.0.5 (#108306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:27:42 +00:00
Roberto Jiménez Sánchez 4847882ee7 Provisioning: handle .git extension more gracefully (#108213)
* Move .git to repository packages

* Bump nanogit 2025-07-17

This version handles `.git` extension internally so that the client
doesn't have to worry about it

* Put back mutation for Github

* Mutate also git URL for clarity
2025-07-18 13:25:21 +02:00
Roberto Jiménez Sánchez 446054a61d Provisioning: fix race condition in usage metrics collection (#108289)
* Register usage stats after lister is created

For enterprise where metrics are collected more frequently and in
different ways the collection was happening before the listing was
initialized.

* Move usage to separate package
2025-07-18 13:24:58 +02:00
Matias Chomicki 046134db22 New Logs Panel: Add events for Panel and Details (#108272)
* New Logs Panel: Add events for Panel and Details

* Logs Panel: add noInteractions property

* New Logs Panel: conditionally report interactions

* Test
2025-07-18 13:13:51 +02:00
renovate[bot] f7a1398cd4 Update dependency rollup-plugin-node-externals to v8.0.1 (#108304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:03:08 +00:00
Misi 0cb6e3fe93 Docs: Add custom fields to Azure/Entra Terraform example (#108222)
Add custom fields to Azure/Entra TF example
2025-07-18 13:00:31 +02:00
renovate[bot] 5b9cb1f568 Update dependency rollup-plugin-esbuild to v6.2.1 (#108303)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:44:47 +01:00
Roberto Jiménez Sánchez e3422c415f Provisioning: fix hack-introduced bug on repository updates (#108298)
* Add log line to see which secret service we are using
* Add hack to make test and create endpoint work until we have InLineSecureValues
2025-07-18 10:18:07 +00:00
renovate[bot] 1a09c13770 Update dependency @types/node-forge to v1.3.13 (#108299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 10:17:45 +00:00
renovate[bot] eed6e4b62b Update dependency vis-network to v10 (#108295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 11:17:42 +01:00
Andres Martinez Gotor 579e412d19 Advisor: Document how to alert based on checks (#108176) 2025-07-18 12:02:13 +02:00
renovate[bot] 25d06e8d78 Update dependency @types/lodash to v4.17.20 (#108297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 09:49:44 +00:00
Misi d5f47d2a6b IAM: Comment out DualWriter setup for Users (#108241)
* Try 1

* Comment out DW setup for users
2025-07-18 09:29:09 +00:00
Andre Pereira 52c91254cc Tempo: Fix exemplar data links when streaming TraceQL metrics (#108078)
* Fix exemplars when streaming metrics

* Fix type
2025-07-18 10:28:01 +01:00
renovate[bot] a4cf41de4a Update dependency vis-data to v8 (#108263)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 10:17:15 +01:00
Ashley Harrison 4fb464ccdc Playwright: Increase timeout when waiting for app pages (#108296)
increase timeout when waiting for app pages
2025-07-18 10:16:49 +01:00
ismail simsek 35884fa9a4 Chore: Avoid floating point numbers for maxDataPoints (#108292)
* avoid floating point numbers

* prettier
2025-07-18 11:12:08 +02:00
renovate[bot] 960b0e770b Update dependency marked to v16.1.0 (#108262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 09:41:47 +01:00
Ashley Harrison 43280a6dab Internationalisation: More markup following manual review (#108232)
* mark up NestedFolderPiker root item

* mark up fieldsbyframerefid

* mark up time picker options

* mark up field types
2025-07-18 09:40:57 +01:00
Roberto Jiménez Sánchez 5cf48294f7 Provisioning: fix authorized github client initialization (#108290)
* Add logging

* Fix the condition for the github token

* Revert "Add logging"

This reverts commit 71cbc675f6.

* Fix condition
2025-07-18 10:23:55 +02:00
Tom Ratcliffe ca1ecf0764 Chore: Bump ESLint to 9.28.0 (#106264)
Bump eslint to 9.28.0
2025-07-18 09:04:17 +01:00
grafana-pr-automation[bot] bf4940f677 I18n: Download translations from Crowdin (#108285)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-18 00:39:17 +00:00
Sarah Zinger 3fad863fd1 Query Service: Combine SSE handling in single tenant and multi tenant paths (#108041)
* parse via sse

I need to figure out how to handle the pipeline.execute with our own
client. I think this is important for MT reasons, just like using our
own cache (via legacy) is important.

parsing is done though!

* WIP nonsense

* horrible code but i think it works

* Add support for sql expressions config settings

* Cleanup:
- remove spew from nodes.go
- uncomment out plugin context and use in single tenant flow
- make code more readable and add comments

* Cleanup:
- create separate file for mt ds client builder
- ensure error handling is the same for both expressions and regular queries
- other cleanup

* not working but good thoughts

* WIP, vector not working for non sse

* super hacky but i think vectors work now

* delete delete delete

* Comments for future ref

* break out query handling and start test

* add prom debugger

* clean up: remove comments and commented out bits

* fix query_test

* add prom debugger

* create table-driven tests with testsdata files

* Fix test

* Add test

* go mod??

* idk

* Remove comment

* go enterprise issue maybe

* Fix codeowners

* Delete

* Remove test data

* Clean up

* logger

* Remove go changes hopefully

* idk go man

* sad

* idk i ran go mod tidy and this is what it wants

* Fix readme, with much help from adam

* some linting and testing errors

* lint

* fix lint

* fix lint register.go

* another lint

* address lint in test

* fix dead code and linters for query_test

* Go mod?

* Struggling with go mod

* Fix test

* Fix another test

* Revert headers change

* Its difficult to test this in OSS as it depends on functionality defined in enterprise, let's bring these tests back in some form in enterprise

* Fix codeowners

---------

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2025-07-17 17:22:55 -04:00
github-actions[bot] 8acdc7e37b Release: update changelog for main (#108238)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-07-17 19:49:43 +00:00
Leon Sorokin 4b1558b3ea TableNG: Use same hover behavior for one and multiple AutoCell links (#108194) 2025-07-17 19:13:42 +00:00
colin-stuart 08afd73c0c SCIM: Add successful SCIM-provisioned user login usage stat (#108273)
* SCIM: add usage stat boolean for successful login

* revert unrelated change

* rename scimSuccessfulLogins

* clean up
2025-07-17 13:43:30 -05:00
Josh Hunt 6089780b73 E2E: Use while/curl loop for waiting for the server to come up (#108259)
* E2E: Use while/curl loop for waiting for the server to come up

* add 60s timeout
2025-07-17 18:18:29 +01:00
renovate[bot] ed1b6af28d Update dependency swagger-ui-react to v5.27.0 (#108229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 17:52:11 +01:00
Ashley Harrison d3ee5f3cda E2E: don't leave a $/ dir hanging around (#108256)
don't leave a $/ dir hanging around
2025-07-17 17:51:32 +01:00
renovate[bot] 0e01fc1437 Update dependency @reduxjs/toolkit to v2.8.2 (#105944)
* Update dependency @reduxjs/toolkit to v2.8.2

* update types to work with new rtk-query version

* kick CI

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-17 17:51:11 +01:00
Charandas d9e099d480 Feature-Flag service: signing middleware for cloud usecase (#107745) 2025-07-17 09:50:25 -07:00
Johnny Kartheiser 08e8a71ad6 alerting docs: activate active timing time (#107928)
* alerting docs: activate active timing time

rough draft: documentation for active timing feature.

* purdier

* more tweaks

* edits via yuri advice

* prettier
2025-07-17 10:56:25 -05:00
Will Browne f6ed9e6ff0 Plugins: Introduce plugin asset provider (#108063)
* introduce plugin asset provider

* simply with PR feedback

* fix linter
2025-07-17 16:20:35 +01:00
Santiago 8548530dc4 Alertmanager: Add MergeState method (#108242)
* Alertmanager: Add MergeState method

* remove RemoteState in favor of ExternalState

* fix tests
2025-07-17 16:47:14 +02:00
Vadim Stepanov bccc980b90 Alerting: Notifiication history (#107644)
* Add unified_alerting.notification_history to ini files

* Parse notification history settings

* Move Loki client to a separate package

* Loki client: add params for metrics and traces

* add NotificationHistorian

* rm writeDuration

* remove RangeQuery stuff

* wip

* wip

* wip

* wip

* pass notification historian in tests

* unify loki settings

* unify loki settings

* add test

* update grafana/alerting

* make update-workspace

* add feature toggle

* fix configureNotificationHistorian

* Revert "add feature toggle"

This reverts commit de7af8f7

* add feature toggle

* more tests

* RuleUID

* fix metrics test

* met.Info.Set(0)
2025-07-17 14:26:26 +01:00
Roberto Jiménez Sánchez 810868c156 Provisioning: use new secure value client (#108227)
* Use provider in Webhooks registration

* First stab at using the new client

* Simplify mock

* Able to generate graph in OSS

* Remove line already ensured by provider

* Handle the K8s not found error as well

* Commit regenerated wire file

* Add the hack also for deletion

* Fix secrets test util

* Format file
2025-07-17 15:17:14 +02:00
Andrej Ocenas 58eb0ec954 Analytics: Fix depth calculation when reporting new folder creation (#108231)
Fix depth calculation
2025-07-17 15:07:56 +02:00
Jev Forsberg 1c8a24c489 Chore: Update supported versions doc (#108230)
baldm0mma/ update sup versions
2025-07-17 12:55:45 +00:00
Jack Westbrook b95c00a80f Frontend: Decouple unit tests for decoupled plugins from core (#107942)
* test(frontend): ignore azuremonitor tests in root jest config

* test(loki): increase waitfor in monacofieldwrapper test

* feat(plugin-configs): introduce jest config

* feat(azuremonitor): add jest config and test scripts

* ci(pr-frontend-unit-tests): introduce separate decoupled plugin test job

* ci(pr-frontend-unit-tests): run decoupled-plugin tests regardless of fork

* Wip

* test(decoupled-plugins): decouple tests in all plugins except loki and mssql

* test(frontend): ignore decoupled plugins that run their own tests

* test(stackdriver): update snapshot due to reactinlinesvg mock difference

* chore(yarn): update lock file

* chore(plugin-configs): remove create-plugin comments

* ci(frontend-unit-tests): make them run on pr or merge to main

* chore(decoupled-plugins): add plugin:test:ci command for locally running all tests

* ci(frontend-unit-tests): run test:ci instead of calling nx directly

* chore(decoupled-plugins): fix jest-dom types for loki and testdata
2025-07-17 14:47:52 +02:00
Gabriel MABILLE 4b217c601a AuthZ: Scope resolution (#107948)
* AuthZ: Scope resolution

* Account for PR feedback

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-07-17 14:34:10 +02:00
renovate[bot] c6ebefdfb6 Update dependency @prometheus-io/lezer-promql to v0.305.0 (#108220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 13:59:05 +02:00
Josh Hunt 4e9c670a00 FrontendService: Fix backend.dockerfile (#108195)
* FrontendService: Fix backend.dockerfile

* comments

* Fix backends rebuilding image instead of just restarting when assets change

* route /logout to grafana backend

* fix script in dockerfile
2025-07-17 12:49:16 +01:00
Mihai Doarna 8dfb4cdfc9 SSO: Add prompt param to SSO settings (#107969)
* add prompt param to AzureAD oauth config

* yarn i18n-extract

* validate auth prompt value

* make login_prompt available for all SSO providers

* use base authCodeURL for azure and google

* add docs for the new field for azure and generic oauth

* fix typo

* fix frontend unit test

* add prompt parameter to docs for the other providers

* remove prompt from okta

* add unit tests for the other providers

* address feedback

* add back translations for prompt labels
2025-07-17 14:40:48 +03:00
linoman 807264428e SAML: Revert SAML assertion default names in documentation (#108212)
Revert SAML assertion default names in documentation
2025-07-17 13:11:48 +02:00
Joey 47ce658154 Trace view: Improved span details view (#108101)
* Details view improvents

* Update tests

* Label update

* Prettier

* Improve span tree offset
2025-07-17 11:33:27 +01:00
renovate[bot] 4b94009a10 Update dependency @opentelemetry/semantic-conventions to v1.36.0 (#108056)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-17 11:16:55 +01:00
Mariell Hoversholm aa169a123e Actions(trufflehog): Fix for external PRs (#108215) 2025-07-17 10:16:19 +00:00
Matheus Macabu f7891a27d2 Secrets: Add kms providers imports (#108210) 2025-07-17 12:04:59 +02:00
Misi c6a6b9fdd2 IAM: Create and delete user from the legacy store (#107694)
* Add Create for User + DualWriter setup

* Add delete User

* Fix delete + access check

* Add tests for delete user

* Add tests for create user

* Fixes

* Use sqlx session to fix database locked issues

* wip authz checks

* legacyAccessClient

* Update legacyAccessClient, add tests for create user

* Close rows before running other queries

* Use ExecWithReturningId

* Verify deletion in the tests

* Add Validate and Mutate

* Other changes

* Address feedback

* Update tests

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-07-17 11:50:40 +02:00
dependabot[bot] 3e29ca786d Bump trufflesecurity/trufflehog from 3.88.29 to 3.90.0 (#108157)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 09:47:36 +00:00
Andres Martinez Gotor 8e663b50e9 Advisor: Allow to define enterprise checks (#108114) 2025-07-17 11:37:32 +02:00
grafana-pr-automation[bot] 3fb0e8cd2c I18n: Download translations from Crowdin (#108200)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-17 09:35:11 +00:00
Josh Hunt d4fc2399d0 Dx: Add check for node version before yarn start (#108144)
* Dx: Add check for node version before yarn start

* .

* add IGNORE_NODE_VERSION_CHECK env var

* Update scripts/check-frontend-dev.sh

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

* add check if nvmrc file exists

* fix lint

* codeowners

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-17 10:23:49 +01:00
Will Browne 54d6140e6d Plugins: Stub logger method for backend plugin test mock (#108211)
stub logger method for backend plugin test mock
2025-07-17 10:18:31 +01:00
dependabot[bot] 1f880c8857 Bump marocchino/sticky-pull-request-comment from 2.9.1 to 2.9.3 (#108091)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 10:17:28 +01:00
Hasith De Alwis 208df33e04 Trace View: Add span filters to URL (#107363)
* refactor(explore/spanFilters): move default filters and search props to shared folders

chore: ammend with refactor commit

chore: ammend, fix type errors

* feat(explore): add spanFilters to global state on explore

* feat(explore/spanFilters): sync span filters with global redux state

* feat(explore): sync spanFilters with URL state

* Moved span filters to panel state

* Fix types

* Fix tests in useSearch

* Fix TraceView tests

* Remove console.warn

* fix(test/trace-view-container): add span filter context to intial state

* refactor(traceview): use generic redux action

* fix(traceview): prune array objects correctly to preserve tag state in URL

---------

Co-authored-by: André Pereira <adrapereira@gmail.com>
2025-07-17 10:00:57 +01:00
Matias Chomicki 433a5fd464 Logs: refactor unescaped content (#108187) 2025-07-17 10:59:03 +02:00
Matheus Macabu 6c69ae244e Secrets: Add single tenant SecureValueClient (#108099)
* Secrets: Add single tenant SecureValueClient

* SecureValueClient: Rename file

* SecureValueClient: Move original type to contracts package and export it by aliasing
2025-07-17 10:56:49 +02:00
Jack Westbrook a0873736aa Frontend: Filter assets-manifest to only include entrypoints (#94679)
build(webpack): filter assets-manifest to only entrypoints
2025-07-17 10:30:52 +02:00
Roberto Jiménez Sánchez ae4dc181d1 Provisioning: Add user token to git and bitbucket repository specs (#108186)
* Add token user to git and bitbucket specs

* Use token user if available in git type
2025-07-17 10:25:02 +02:00
Matheus Macabu 0d1534e43c GHA: Add workspace check for wire changes (#108163) 2025-07-17 09:24:10 +02:00
Jack Westbrook 0d2657e2f0 Fix: Link path not recognised in CommandPalette link extensions (#108162)
* fix(extensions-ui): commandpalette links should work with urls / paths

* fix(commandpalette): block navigation if url exists before calling perform
2025-07-17 08:03:39 +02:00
Leon Sorokin c7aa83f8d3 TableNG: Use Set for tracking expanded rows (#108198) 2025-07-16 19:11:28 -05:00
ismail simsek 6b266ebc50 Chore: Remove unused files in @grafana/prometheus (#108135)
* remove unused files

* lint

* resolve circular dependencies

* a bit more circular dependency cleaning

* move unit tests
2025-07-16 16:39:39 -04:00
Alyssa Joyner 1ee0690079 [InfluxDB]: Add max series and auto complete range fields to new design (#108193) 2025-07-16 19:48:41 +00:00
Misi a94647d5cc Auth: Remove ssoSettingsSAML feature toggle (#108109)
* Remove ssoSettingsSAML feature toggle

* Remove from docs + align tests

* Update workspace

* revert go.mod go.sum change

* make update-workspace without enterprise linked
2025-07-16 21:13:31 +02:00
linoman 032ea5d5b8 Update SAML configuration options (#108178) 2025-07-16 20:39:28 +02:00
linoman 91a54d0e0e SCIM: doc upgrades (#108098)
* Add public preview warning

* Add migration strategy

* Add troubleshooting guide

* Improve description

* Improve docs

* Add versbosity

* Addresss PR comments
2025-07-16 20:39:09 +02:00
Matthew Jacobson 2444fb1caf Alerting: Update grafana/alerting to 8eef376f49f8 (#108190)
Update grafana/alerting to 8eef376f49f8

Includes support for OAuth2 in most notifiers but does not enable that support
yet in FE. Fixes tests related to the change.
2025-07-16 17:33:52 +00:00
Josh Hunt 7a88a64121 FrontendService: Local dev setup (#108082)
* wip

* docker compose dev setup

* commit new tilt stuff

* move files into own dir

* reset files back to main

* use just one nginx container for both gateway and cdn

* update proxy service name

* make it all work when in subdir

* rename more things

* reset more changes

* fix config

* add makefile command, fix ws upgrade

* add local check script

* tidy

* tidy up, comments, readyme

* codeowners

* change cdn host to localhost to avoid adding host.docker.internal to /etc/hosts

* route POST /login to backend

* Build nginx container with config baked in so it can be live_update-ed

* fix headers
2025-07-16 18:28:28 +01:00
Cory Forseth a0085b6cab skip auth check when server is running in insecure mode (#107820)
* skip auth check when server is running in insecure mode

* add some useful logs

* lint
2025-07-16 13:06:47 -04:00
Sonia Aguilar 9c15662cf6 Alerting: Add AI buttons in some alerting workflows (#107754)
* Add alerting ai buttons for cloud

* add tracking for ai buttons usage

* Empty commit to trigger GitHub Actions

* add FrontendOnly in ff

* update analytics folder

* prettier

* revert ff being frontend only

* review comments

* address some review comments

* refactor

* revert change and remove comment

* prettier

* update betterer

* remove unused property

* prettier

* address review comments

* prettier

* update test

* fix linter errors

* add translations

* prettier

* update workspace

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-07-16 18:42:42 +02:00
Matias Chomicki 974103c6fa OTel: Add experimental formatting for OTel identified log lines (#108170)
* OTel: create formats service

* LogListContext: use OTel service to resolve the default displayed fields

* Create otelLogsFormatting feature flag

* LogListContext: conditionally use otel format based on feature flag

* OTel logs: reformat body and improve displayed fields

* formats: remove duplicated scope name

* Update formats.ts

* format: use regex rules to exclude fields

* Add tests

* Formatting

* LogsPanel: expose setDisplayedFields

* LogListContext: refactor otel displayed fields

* Prettier

* format: optimize identifyOTelLanguages
2025-07-16 17:42:14 +02:00
Yunwen Zheng 2202c99d70 BrowseActions: check selected items are provisioned or not (#107919)
* BrowseActions: check selected items are provisioned or not

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-16 11:22:45 -04:00
TomasR 45d176a672 Tempo: Fix link to documentation for Tag limit (#107898) 2025-07-16 16:01:45 +01:00
Bruno 01692bc876 Secrets: remove unused SecureValueMetadataStorage.ReadForDecrypt method (#108181)
* Secrets: remove unused SecureValueMetadataStorage.ReadForDecrypt method

* remove unused struct: secureValueForDecrypt
2025-07-16 11:52:26 -03:00
Domas 602e327769 Table: fix crash when applying overrides to "frame" type field (#108179)
fix crash when applying overrides to partial nested frames
2025-07-16 14:37:55 +00:00
Isabel Matwawana e40341ffe8 Docs: Remove references to DD feature toggle (#108142) 2025-07-16 10:07:14 -04:00
Tania 7186aa4bd7 OpenFeature: Fix bulk evaluation request postprocessing (#108155) 2025-07-16 15:54:36 +02:00
Alex Khomenko 6fd75ebc54 Provisioning: Skip requests if feature toggle is not enabled (#108165)
* Provisioning: Skip request if feature toggle is not enabled

* Add check to provisioning page
2025-07-16 16:21:14 +03:00
Ana Ivanov 6715369a78 chore: update limitPerPlugin for commandPalette links (#108174) 2025-07-16 16:01:41 +03:00
Levente Balogh 9db64b55be Plugin Extensions: Notify on core Grafana changes (#108005)
* feat: introduce a Github workflow that is notifying on extension related changes

* review: fix review notes

* review: remove broken heart

* fix: use a new version of the send-slack-message action
2025-07-16 14:27:15 +02:00
Dominik Prokop b4738c57e4 Dashboards API: Add v2alpha2 (#108121)
* Dashboards API: Register v2alpha2 API

* Prepare conversion functions

* Fix test

* Move to the bottom the v2aplha2 until is ready

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-16 12:22:50 +00:00
Sven Grossmann 2fcb86f031 Monaco: Fix hexdigits in monaco langs (#108153) 2025-07-16 13:51:08 +02:00
Todd Treece 10cbebf9c2 Data Plane Aggregator: Update README with more context (#108138) 2025-07-16 11:37:22 +00:00
Sven Grossmann 4588c6c11c ExtensionSidebar: Pass closeSidebar to plugin helpers (#108171)
* ExtensionSidebar: Add `CloseExtensionSidebarEvent`

* ExtensionSidebar: Use `CloseExtensionSidebarEvent` in provider

* ExtensionSidebar: Pass `closeSidebar` to plugin helpers
2025-07-16 11:35:15 +00:00
Roberto Jiménez Sánchez b232ba5396 Provisioning: Move provisioning extras to OSS extensions (#108167)
* Move provisioning extensions to OSS

* Fix the wire stuff

* Move it to extras packages

* Add hack to assert test differently for enterprise
2025-07-16 13:24:24 +02:00
Ihor Yeromin f657fc0236 Transformations: Allow count aggregation for groupBy field (#108079)
* feat(transformations): allow groupBy aggregation

* add some details to the documentation

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

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

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-07-16 12:39:19 +02:00
Alexa Vargas 5b0ebb1693 Dashboard: Add Monitoring to v1 and v2 export flow (#107899)
* Dashboard: Add Monitoring to v1 and v2 export flow, including library panels interaction

* fix error with v2 transformed dashboard not having haslibraryPanels

* apply PR suggestions, extract as const and refactor for readability

* Add unit test for the new functions
2025-07-16 11:53:44 +02:00
antonio d87f7ecfc1 docs/alerting:add missing step in tutorial (#108168)
* docs/alerting:add missing step in tutorial

* format
2025-07-16 09:20:14 +00:00
Matheus Macabu 2c4bbf8b1d Secrets: Reduce amount of feature toggle checks to only app entrypoint (#108110)
* Secrets: Reduce amount of feature toggle checks to only app entrypoint

* Wire: Fix merge conflict

* Wire: Fix merge conflict
2025-07-16 10:56:59 +02:00
Ida Štambuk 4cc4c6c666 CloudWatch: Set accountId to undefined if not monitoring account (#108112) 2025-07-16 10:19:40 +02:00
Matheus Macabu 3cda233468 Secrets: Remove temporary allowlist (#108118) 2025-07-16 09:39:33 +02:00
Roberto Jiménez Sánchez 56543db16a Provisioning: delete secrets on repository deletion (#108113)
- Add hooks to git, github and github webhooks to remove the. 
- Implement deletion in secrets package.
- Add `Mutator` interface and hooks so that we can register any mutator. 
- Add unit test coverage to those mutators. 
- Move provider specific mutation from the massive `register.go` to the respective packages (e.g. `git` , `github`, etc). 
- Add integration test for removal. 
- Change the decryption fallback to simply check for the repository prefix.
2025-07-16 07:38:42 +00:00
Mustafa Sencer Özcan 4a779c4ccb fix: unified resource server list queries order column (#108094) 2025-07-16 08:09:31 +02:00
Hugo Häggmark 5b82e05697 Plugins: replaces various plugin imports with pluginImporter (#108002)
* Plugins: renames plugin_loader

* Wip

* chore: adds pluginImporter

* chore: some small refactors

* chore: better typings

* chore: merge functions

* chore: create a generic plugin cache

* chore: adds comments

* chore: change to const

* chore: remove unused change

* chore: put everything behind feature toggle

* chore: rename test file and props

* chore: adds sync cache as well

* chore: fix the typings

* chore: fix broken unit test

* chore: small rename

* chore: adds tests

* chore: updates after PR feedback

* chore: updates after PR feedback
2025-07-16 06:42:28 +02:00
grafana-pr-automation[bot] 332601320c I18n: Download translations from Crowdin (#108158)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-16 00:40:20 +00:00
Drew Slobodnjak 1143cf130e Geomap: Upgrade Open Layers (#107598)
* Geomap: Upgrade Open Layers

* Fix TypeScript errors

* Fix possibly null errors

* Fix pointer events

* Simplify webgl implementation for markers

* Improve types

* Fix offset expression

* Improve layers types

* Improve types for tooltip

* Improve types for frameVectorSource

* For regular shapes convert size to radius

* Update import format for new version of ol

* Fix ESM syntax errors

* Fix more e2e stuff

* Fix tooltip test

* Simplify redundant keys
2025-07-15 17:04:41 -07:00
Nathan Marrs b691b3288d Sharing: Export dashboard as image (#104207)
Co-authored-by: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com>
2025-07-15 21:07:39 +00:00
Alyssa Joyner a977aa9d03 [InfluxDb]: Fix DBRP mapping typo (#108152) 2025-07-15 20:22:21 +00:00
Leon Sorokin e42c45c30f TableNG: Avoid render-time emotion calls for AutoCell (and colored cells) (#108048)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-15 14:42:06 -05:00
Adela Almasan cd1f086d33 Docs: Update actions with variables (#108145) 2025-07-15 14:09:37 -05:00
Kevin Minehart bf6b4c695e CI: Disable gzip encoding on upload (#108149)
* Use my fork for testing

* set gzip: false

* use push-to-gcs@main

* use my branch for testing

* use main for login and push to gcs?

* Use push-to-gcs/v0.2.1

* use main; set gzip to false

* use main instead of my branch
2025-07-15 19:04:58 +00:00
Bruno 6fa3c196d4 Secrets: add example based testing that tries to decrypt deleted secure value (#108140) 2025-07-15 15:40:52 -03:00
Michael Mandrus ab51794bdb SecretsManager: Unify KMS across OSS and Enterprise (#108085)
* everything is compiling

* tests passing

* remove used object

* write a test for secret key upgrades

* misc cleanup

* clean up some wording

* lint issues

* fix a typo

* import hashicorp dependency explicitly

* simplify oss kmsprovider package structure

* consolidate current provider and available providers

* add a new manager configuration test

* fix hashivault import

* fix import issue

* fix unit tests

* Update go.mod

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

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-15 14:39:20 -04:00
Martin Costello 469f94028f Docs: Update ISSUE_TRIAGE (#106839)
* Docs: Update ISSUE_TRIAGE

- Convert flowchart to a Mermaid diagram.
- Use native GitHub note.
- Fix GitHub casing.

* Docs: Fix lint error

Remove extra blank line.
2025-07-15 18:33:53 +00:00
Haris Rozajac 2f8ec01c6c Dashboard Migrations: V29 query variable refresh property and options (#108088)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-07-15 17:27:04 +00:00
Ivan Ortega Alba 1200b684c6 Dashboard Migrations: V30 value mappings and tooltip options (#107970)
* Dashboard Migrations: V30 value mappings and tooltip options
2025-07-15 16:44:11 +00:00
Matias Chomicki b839090de5 New logs Panel: Log details improvements + default details value update (#108065)
* LogLineDetails: prettify json field values

* processing: prettify json according to wrap status

* LogLineDetailsField: better column width for keys

* LogsPanel: let app have automatic details mode

* Fix prop name

* LogLineDetails: memoize

* LogLineDisplayedFields: add icons to organize

* Displayed fields: add cursor move

* LogLineDetailsFields: improve key columns

* Remove test

* Translations

* Formatting

* LogLineDetailsFields: minor refactor and fix

* LogLineDetails: remember inline scroll position

* LogLineDetails: test displayed fields reorg

* Update mock

* LogLineDetailsComponent: add missing disable actions

* Log details copy button: gap = 0

* LogLineDetailsDisplayedFields: use fixed size for inline fields
2025-07-15 16:17:20 +00:00
Ivan Ortega Alba 14cb6aea92 Dashboard Migrations: V32 no-op migration + V31 LabelsToFields-Merge Migration (#107947)
* Dashboard Migrations: V31 LabelsToFields-Merge Migration

* Dashboard Migrations: V32 No-op migration
2025-07-15 15:28:48 +00:00
Isabella Siu da0f1d7b18 AWS Datasources: Update grafana assume role docs for GA (#107220)
Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-07-15 10:59:01 -04:00
Josh Hunt 5751b441e1 Docs: Fix format of quick_ranges (#107973) 2025-07-15 15:35:00 +01:00
Konrad Lalik 930c5a7024 fix(alerting): use alerting-admin as navId for settings (#108116) 2025-07-15 16:34:40 +02:00
Gilles De Mey 8cb6993fe6 Alerting: Improve new list view performance (#108115) 2025-07-15 14:34:21 +00:00
Bruno Abrantes c06c1b1e8a fix: Makes created and updated by nullable strings for library panel migration (#108122)
Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-15 16:30:31 +02:00
ismail simsek d602e79e9a Chore: Remove unnecessary exports (#108124)
* no unnecessary exports

* needs exports

* put query builder types back

* put types back

* betterer
2025-07-15 16:20:09 +02:00
maicon b017f42278 Unistore: Fix dualwriter mode 3 (#108092)
* Unistore: Fix dualwriter mode 3

Fallback to legacy if Unified is the main store and we get an error when
reading from it

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


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-15 11:16:26 -03:00
Stephanie Hingtgen d39a47a89b Provisioning: Begin using secrets store (#108044)
- Provisioning: Begin using secrets store
- Refactor integration with secrets store
- Add back the legacy service
- Separate concerns for encrypt and decrypt
- Handle update within Encrypt function
- Add interface for secure value service
- Add feature flag for using secrets service
- Add the dual service for temporary solution.

* Add first integration tests for encrypted tokens
* Add integration test for app platform secrets
* Validate it has the name or not
* Create wire provider
* Always save to the secret if provided secret

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Roberto Jiménez Sánchez <jszroberto@gmail.com>
2025-07-15 15:43:17 +02:00
Piotr Jamróz 68b9a5f57c Tempo: Add a feature toggle for Alerting (#106891)
* Add a feature toggle

* Disable alerting when the toggle is switched off

* Update tests

* Update tests

* Update tests

* Simplify ReadPluginJSON as it's used by enterprise

* Update test

* Update test

* Add the toggle check to loader.go

* Move the logic to plugins integration pipeline
2025-07-15 15:36:36 +02:00
ismail simsek 3d9228f296 Chore: Remove default export of promqlGrammar (#108120)
remove default export
2025-07-15 15:13:44 +02:00
ismail simsek 5b5cce3243 Chore: Remove unused parseSelector function (#108119)
remove unused parseSelector
2025-07-15 14:10:47 +01:00
Luminessa Starlight 8480862854 TimeRangePicker: Use consistent format in date-time input fields (#107117)
* when localeFormatPreference toggle is enabled, always use a common datetime format in TimeRangePicker

* fix lint issue
improve comment

* test printing datetime input format

* adds tests for entering dates in inputs to be parsed
adds will-be redundant tests to ensure system date format is or isn't respected when appropriate
2025-07-15 09:07:33 -04:00
Konrad Lalik 24ebb27ebe Alerting: Add forwardRef to MetaText component (#108107)
feat(alerting): Add forwardRef to MetaText component

This change introduces forwardRef to the MetaText component, allowing parent components to gain direct access to the underlying div element. This is particularly useful for scenarios where the parent needs to measure the component's dimensions, manage focus, or integrate with other libraries that require a DOM element reference.
2025-07-15 13:18:28 +02:00
Misi 92d098fdfd Auth: Make domain_hint configurable for the Azure AD/Entra ID connector (#108061)
* Make domain_hint configurable for Entra ID/Azure AD

* Add docs

* Fix + i18n gen

* Add validation to domain hint

* Remove unnecessary change
2025-07-15 12:53:19 +02:00
Matheus Macabu 4954822cbb Secrets: Add separate package for resource validation (#108097)
* Secrets: Add SecureValueService interface

* Secrets: Move resource validators to their own package/structs for reusing
2025-07-15 12:33:14 +02:00
Matheus Macabu 62fd3ba36f Secrets: Remove v0alpha1 spec, files and references (#108100) 2025-07-15 12:33:00 +02:00
Santiago 71a425f912 Remote Alertmanager: Fetch full state from Mimir (#107905)
* Remote Alertmanager: Add method to fetch the full state

* decode and parse the remote Alertmanager state string

* test
2025-07-15 11:38:38 +02:00
Sven Grossmann ac6f65923d Extensions: Add missing description field for exposed functions (#107964) 2025-07-15 11:23:11 +02:00
Tobias Skarhed 683a27bf8b Scopes: Fix height pixels for recent scopes (#108103)
Recent scopes to pixel perfection
2025-07-15 08:47:41 +00:00
ismail simsek db7087fdfc Fix: Showing raw prometheus table result (#107980)
Fix showing prometheus result
2025-07-15 08:39:40 +02:00
ismail simsek 67573d5513 Prometheus: Fix interpolating minStep for range queries when incremental querying enabled (#107715)
* return calculatedMinStep in first frame of the response

* update test files

* make the custom metadata as type of map[string]any

* append calculatedMinStep to custom metadata

* fix exemplar frame checking
2025-07-15 08:37:43 +02:00
Gábor Farkas 868791d751 ds-querier: handle response-headers explicitly (#107304) 2025-07-15 08:31:57 +02:00
grafana-pr-automation[bot] 2c0cfb0dc7 I18n: Download translations from Crowdin (#108089)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-15 00:38:35 +00:00
Paul Marbach 6c907fd955 Table: Ensure that SparklineCells honor configured mins and maxes (#107991)
* Table: ensure that FieldType.frame fields have mins and maxes applied

* update Sparklines gdev dashboard

* update gdev dashboards for table

* jsonnet spacing

* fix gdev dashboard ids and versions
2025-07-14 21:41:32 +00:00
Heather Cloward 58c990b2ca Adds cloud provider to fine-graned rbac list (#108042) 2025-07-14 17:45:56 +00:00
Paul Marbach f19b2ef429 TableNG: Move useCallback up in TablePanel (#108080) 2025-07-14 13:08:50 -04:00
Josh Hunt 12f05a8553 Dashboards: Add join and customqueryparam template variable formatters (#107904)
* Update scenes lib

* update schema for customqueryparam formatter

* add docs for new formatters

* fix docs example

* sort alpha
2025-07-14 17:08:06 +01:00
Matheus Macabu 403d6380fa Secrets: Remove gating with experimental APIs feature toggle (#108058) 2025-07-14 17:46:17 +02:00
Michael Mandrus 015b2f6b0a Chore: Update gocloud.dev dependency to v0.42.0 (#108054)
* update dependency

* make update-workspace

* rerun with ge linked

* add codeowner

* rerun WITHOUT enterprise
2025-07-14 11:11:40 -04:00
Yunwen Zheng 7ad6358e40 DeleteProvisionedFolderForm: navigate user to dashboard page with open PR banner when push to branch (#107989)
* DeleteProvisionedFolderForm: navigate user to dashboard page with open PR banner when push to branch
2025-07-14 15:01:43 +00:00
Santiago d4670b1cee Alertmanager: Add methods to merge nflog and silences (#108006) 2025-07-14 16:23:23 +02:00
Tania e079cb3738 Simplify open feature setup (#107632)
* Simplify open feature setup

* Fix linter issues

* Apply review feedback

* Fix integration tests setup
2025-07-14 16:22:04 +02:00
Andres Martinez Gotor d1f785c8bf New link extension point for DatasourceTestingStatus (#107571) 2025-07-14 15:51:19 +02:00
Domas 8eef17cb37 QueryVariable: Add static options input (#107514)
* static options for query variable

* add toggle

* fix and add tests

* run the hack codegen thing

* more test fixes

* make betterer happier

* also make typecheck happy

* make betterer happier

* fix i18n key

* tranalte static variables sort label

* gen translations

* update snapshot
2025-07-14 16:05:56 +03:00
Bruno baa89f3eac Secrets: encryption encryption storage uses versioning (#108036)
* Secrets: delete unused FakeKeeper

* Secrets: encrypted value storage stores versions

* add version to span

* trigger build

* remove ineffectual assignment

* lint

* drop secret_encrypted_value.uid / add name and version columns
2025-07-14 09:28:07 -03:00
grafana-pr-automation[bot] afe6cd8a6d I18n: Download translations from Crowdin (#108047)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-14 11:48:41 +00:00
Ihor Yeromin 32fecb9483 Geomap: DX improvements (#107588)
chore(geomap): dev experience improvements
2025-07-14 13:38:06 +02:00
Bogdan Matei 12ec94c325 Dashboard: Remove DTO cache and scene cache on dashboard delete (#107460) 2025-07-14 14:34:43 +03:00
Ashley Harrison 9f76564f51 VizColors: Use more named colors in the classic palette (#107714)
* use more named colors in the classic palette

* update unit tests
2025-07-14 12:22:24 +01:00
Mustafa Sencer Özcan 84a4ed612b fix: re-order db initialization logic for resource server (#108059) 2025-07-14 10:25:42 +00:00
Hugo Häggmark 4260dea554 Plugins: adds plugin version to mutation logs (#108057)
* Plugins: adds plugin version to mutation logs

* chore: updates after PR feedback
2025-07-14 11:52:48 +02:00
Levente Balogh 75a6aa7838 Plugin Extensions: Update extension-point ID validation (#107959)
* feat(extensions): don't allow core grafana extension point ids in plugins

* feat(extensions): log more specific errors if extension point id validation fails

* chore: move the ExtensionSidebar ext. point id to grafana-data

* review: remove type assertion
2025-07-14 10:18:21 +02:00
renovate[bot] fe7cc4c9a7 Update dependency msw to v2.10.4 (#108055)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 06:26:51 +00:00
renovate[bot] e22ace4031 Update dependency react-select to v5.10.2 (#108030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 05:41:33 +00:00
dependabot[bot] 4c4abd72e7 Bump google-github-actions/setup-gcloud from 2.1.2 to 2.1.4 (#108022)
Bumps [google-github-actions/setup-gcloud](https://github.com/google-github-actions/setup-gcloud) from 2.1.2 to 2.1.4.
- [Release notes](https://github.com/google-github-actions/setup-gcloud/releases)
- [Changelog](https://github.com/google-github-actions/setup-gcloud/blob/main/CHANGELOG.md)
- [Commits](https://github.com/google-github-actions/setup-gcloud/compare/6189d56e4096ee891640bb02ac264be376592d6a...77e7a554d41e2ee56fc945c52dfd3f33d12def9a)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 06:17:18 +02:00
Matheus Macabu e33a4b147b Air: Stop running make gen-go (#108001)
Experimenting removing the `make gen-go` step on every rebuild, which speeds up the reload loop, since the wire files are now committed.
2025-07-13 13:42:38 +01:00
Leon Sorokin 7344c1c555 TableNG: Simplify Pill cellType and reduce scope (#107934)
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-11 21:28:06 -05:00
grafana-pr-automation[bot] b0e85a637f I18n: Download translations from Crowdin (#108045)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-12 00:38:54 +00:00
Roberto Jiménez Sánchez b49b103f42 Provisioning: Return available repository types in settings endpoint (#107977)
* Add types for other repositories

* Inject the types from extras

* Fix go-lint

* Fix typecheck

* Add it to the tests

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-11 22:07:04 +00:00
Jev Forsberg eab8c1db07 Chore: Add comment about shallow clones/single-branch clones (#108043)
baldm0mma/ add comment about shallow clones/single-branch clones
2025-07-11 13:10:20 -08:00
Roberto Jimenez Sanchez 4b8e565a16 Fix innefectual assigment 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez 1912c4ccc3 Regenerate wire 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez cff66e8b45 Remove TODOs 2025-07-11 23:02:19 +02:00
Roberto Jimenez Sanchez acd6df6b89 Fix provisioning reporting 2025-07-11 23:02:19 +02:00
Roberto Jiménez Sánchez 05a2d26787 Provisioning: Add refs endpoint (#108014) 2025-07-11 13:58:39 -07:00
Tania a33b634a9f OpenFeature: Inject eval ctx into req ctx (#108017)
* OpenFeature: Inject eval ctx into req ctx

* Remove stackId

* add unit test

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-11 21:26:44 +02:00
Tania f9f04c2a55 OpenFeature: Fix ofrep path and stack id check (#107884)
* OpenFeature: Fix ofrep path and stack id check

* Use namespace instead of stackId in eval ctx

* Apply review feedback

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-11 21:14:23 +02:00
mohammad-hamid 2cd0be3cbd Update authlib version (#107939)
* update authlib version

* add latest versions

* make update-workspace

* typo

* Trigger Build

* Trigger Build
2025-07-11 14:55:52 -04:00
Sarah Zinger db3ab6a0a7 Fix typo in docs (#107976) 2025-07-11 18:46:31 +00:00
Jacob Valdez c20067d70a docs: Clarifying the support level of SCIM (#108034) 2025-07-11 12:53:34 -05:00
Jev Forsberg fd269ce041 Chore: Fix releaseFinder script perf (#108035)
* baldm0mma/ speed up branch loop

* baldm0mma/ rem unneeded comment

* baldm0mma/ update release output format

* baldm0mma/ refactor
2025-07-11 17:43:03 +00:00
Matheus Macabu 9c1b2fb792 Secrets: Bump API version to v1beta1 (#108026) 2025-07-11 19:14:05 +02:00
Ryan McKinley 9786389ae8 SecureValues: Support inline secure values in GrafanaMetaAccessor (#107996) 2025-07-11 16:47:54 +00:00
Kevin Minehart 180a901c7d CI: Change prerelease bucket path from {VERSION} to {VERSION}_{BUILD_ID} (#108031)
* CI: Change prerelease bucket path from {VERSION} to {VERSION}_{BUILD_ID}

* use run_id
2025-07-11 16:38:43 +00:00
Georges Chaudy 7002ab90ae unistore: save returns a writecloser (#107955)
* unistore: save returns a writecloser

* go-lint

* address comments
2025-07-11 18:25:48 +02:00
antonio 519e0449e7 add video to get started with grafana alerting 1 (#107952) 2025-07-11 17:45:31 +02:00
Adela Almasan 40da94cf74 Annotations: Allow target="_blank" (#106301)
Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2025-07-11 15:19:40 +00:00
Josh Hunt 98995922f9 Transformations: Import images with webpack (#107795)
* Transformations: Import images with webpack

* fix mock registry

* use mockTransformationsRegistry in more places
2025-07-11 15:48:27 +01:00
renovate[bot] e4f78c462e Update dependency react-virtualized-auto-sizer to v1.0.26 (#105005)
* Update dependency react-virtualized-auto-sizer to v1.0.26

* fix unit tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-11 14:04:04 +00:00
Jean-Philippe Quéméner 602b7826c4 refactor(unified-storage): remove resource_server config option (#107649) 2025-07-11 15:33:51 +02:00
Paul Marbach 73ab088804 TableNG: Scrollbar width handling (#107994)
* TableNG: Scrollbar width handling

* slight cleanup

* fix types

* fixie

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-11 08:50:25 -04:00
Bruno 9d0a23e1f5 Secrets: add crudl+decrypt state machine test (#107971)
* Secrets: add state machine test for CRUDL+decrpt operations

* make update-workspace

* make update-workspace

* make enterprise-dev

* make update-workspace

* fix go.mod

* make update-workspace

* fix gomod

* make update-workspace

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-07-11 09:40:50 -03:00
Jacob Valdez 39d7fbd66e Docs: Updating team sync admonition wording (#107990) 2025-07-11 07:25:43 -05:00
Yury Molodov f94722e1e3 Tempo: Add Victoria Logs support for "traces to logs" (#105985)
* feat(trace-to-logs): add VictoriaLogs datasource support

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>

* tempo: fix lint errors in createSpanLink.tsx

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>

---------

Signed-off-by: Yury Molodov <yurymolodov@gmail.com>
2025-07-11 14:22:50 +02:00
maicon ce73e5126a Folders/k8s: Enable all dualwriter modes on remaining integration tests (#107992)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-11 09:20:01 -03:00
Matheus Macabu c9b2126c4a Secrets: Add v1beta1 schema with CUE + grafana-app-sdk (#107972)
* Secrets: Add v1beta1 API using CUE

* Secrets: Generate spec with app-sdk

* Secrets: Generate decrypt proto

* Secrets: Add manual files to help transition
2025-07-11 13:42:46 +02:00
Jean-Philippe Quéméner c238016532 chore(folders): add correct CODEOWNERS entry (#108018) 2025-07-11 11:34:27 +00:00
Anna Urbiztondo 31a7f79efd [Advisor]: Tile text update (#108009)
Tile text update
2025-07-11 13:12:25 +02:00
Ashley Harrison 16183d794c E2E: fix storybook e2e playwright test (#108010)
* fix storybook e2e playwright test

* update action to run if test is modified
2025-07-11 10:50:00 +00:00
grafana-pr-automation[bot] d6f52d5d9b I18n: Download translations from Crowdin (#107998)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-11 10:16:28 +00:00
Ashley Harrison 66b79fb221 Internationalisation: Mark up transformations (#107910)
* CalculateFieldTransformerEditor

* more CalculateFieldTransformer

* ConcatenateTransformerEditor

* ConfigFromQueryTransformerEditor

* mark up other transformations

* few things spotted manually
2025-07-11 11:13:35 +01:00
Kristian Bremberg 0a0d926531 BackendSrv: Validate newline and tabs in validatePath (#108008)
Validate newline and tabs in validatePath
2025-07-11 10:13:23 +00:00
Ashley Harrison 453a791db1 Internationalisation: More mark up following manual review (#107709)
* mark up variable types

* mark up annotation stuff

* mark up TagsInput placeholder

* mark up validation messages

* mark up required error

* Mark up metrics explorer modal
2025-07-11 10:34:24 +01:00
Ashley Harrison b6580ccb10 E2E: migrate to playwright (#107241)
* separate playwright into its own folder

* better separation

* add login scenario, add tags

* remove ui option

* update CODEOWNERS

* add a panels suite test

* migrate queries test to playwright

* rename + add dashlist test

* add panelEdit_base

* add geomap map controls test

* add geomap-layer-types

* add geomap-spatial-operations tests

* add frontend-sandbox-panel tests

* add smoke-tests-suite

* add comment about adding datasource

* add dashboard-browse-nested

* add dashboard-browse

* add dashboard-export-json

* add dashboard-keybindings test

* remove @wip tag

* turn on screenshots and add comment for why this test fails

* add dashboard-links-without-slug test

* try adding permissions in the test as well

* add dashboard-live-streaming

* context in the test doesn't work - sad

* create dashboard-public-templating

* add dashboard-public-create and make live streaming more resilient

* add share externally test

* add dashboard-share-internally

* add share-snapshot-create test

* add dashboard-templating

* add timepicker tests

* add embedded-dashboard test

* add general_dashboards test

* add import-dashboard test

* add load-options-from-url test

* add new-constant-variable test

* add custom-variable test

* add new-datasource-variable test

* add new-interval-variable test

* add text-box-variable test

* add new-query-variable test

* add horizontal repeat test

* add panel-vertical-repeat test

* add empty-row-repeat test

* add set-options-from-ui test

* add snapshot-create test

* add templating test

* add textbox-variables test

* add cloud-plugins-suite

* add storybook verification tests

* add playwright storybook verification workflow

* add playwright browsers

* update CODEOWNERS

* test change to trigger storybook verification workflows

* try container instead

* get the version right...

* go back to installing - less chance of forgetting to update

* Basic Github Actions

Squashed commit of the following:

commit f84c650a71
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 13:23:46 2025 +0100

    add arg for sharding, but not using it yet

commit 7bcf0512c6
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 12:30:30 2025 +0100

    less newline

commit b643911882
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 12:24:31 2025 +0100

    less logs

commit 38f871e9c2
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 10:00:26 2025 +0100

    fix yaml

commit db9a773136
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 09:57:47 2025 +0100

    clean up files

commit c0525f41fa
Author: joshhunt <josh.hunt@grafana.com>
Date:   Tue Jul 1 09:44:56 2025 +0100

    gha workflow

commit 895bea7c52
Author: joshhunt <josh.hunt@grafana.com>
Date:   Mon Jun 30 19:33:08 2025 +0100

    working dagger

commit cea1f84437
Author: joshhunt <josh.hunt@grafana.com>
Date:   Mon Jun 30 16:17:46 2025 +0100

    wip

* shard gha

* some tidy up

* add flags for exporting results, and a gha step to merge runs

* fix shard gha

* add dashboard-duplicate-panel test

* add dashboard-outline test

* add dashboards-add-panel

* remove some commented out code

* add dashboards-title-description test

* add dashboards-remove-panel

* don't install cypress

* gha: check playwright results

* add dashboards-edit-adhoc-variables test

* fix check-jobs

* add dagger cloud token

* add dagger cloud token

* add edit-datasource-variable test

* update CODEOWNERS

* add dashboards-edit-group-by-variables (skipped for now)

* add dashboards-edit-panel-title-description test

* add dashboards-edit-transparent-bg test

* add dashboards-edit-query-variables test

* run with 8 shards

* add dashboards-edit-variables

* tidy up gha

* add dashboard-group-panels

* fix action

* try to cache the grafana build

* fix missing action becuase no checkout, use builtin continue-on-error instead

* fix missing id

* cat out.txt

* debug build cache

* fix debug build cache

* add dashboards-panel-layouts test

* tidy up

* no more debug

* fix grafana dir

* add dashboards-move-panel test

* skip some failing tests

* mark up plugins tests with @plugins tag, only run @plugins tests in drone

* Hackathon/Playwright Conversion - Various Suite (#107516)

* Playwright Migration: Various Suite tests

* skipping bad tests

* fix some tests that can fail

* fix uid

* separate user for the verify-i18n test

* build test plugins for grafana server

* properly blur input fields

* login manually

* get dashboardPage from goto

* ignore a couple of type assertions

* remove a couple of timeouts

* remove timeouts on dashboard-share-internally

* use toBeHidden

* make dashboard-share-internally more stable

* remove TEMP_DAGGER_TOKEN

* clean up visaulization-suggestions

* unskip gauge test

* unskip trace-view-scrolling

* attempt to make create variable utils stable

* unskip loki tests

* make go linter happy

* unskip edit-group-by-variables test

* unskip move panel tests

* isolate dashboard-timepicker tests with separate user

* create data source as part of smoke test

* make sure we're awaiting in dashboard-edit-adhoc-variables

* make dashboards-edit-variables test more robust

* Hackathon Playwright: Dashboards Search (#107580)

* Hackathon Playwright: Dashboards Search

* Feedback changes

* make trace-view-scrolling more stable

* add json report and bench step

* fix bench version

* move fail step to after the playwright report so we can report test failures

* fix output file name

* fix typo

* try wrap in expect.poll

* stability

* bit more tidy up

* fix dashboard-new-layouts tests

* move test-plugins to e2e-playwright

* fix go code for drone e2e run

* move loki plugin-e2e test

* make v2 dashboards work again

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Josh Hunt <joshhunt@users.noreply.github.com>
Co-authored-by: Collin Fingar <collin.fingar@grafana.com>
Co-authored-by: Jeff Levin <jeff@levinology.com>
2025-07-11 10:31:33 +01:00
Georges Chaudy ea0ddb3fc9 unistore: refactor get to return a reader (#107951) 2025-07-11 11:10:19 +02:00
Santiago a314b99589 Remote Alertmanager: Use the same struct for Grafana state and Mimir full state (#107791)
Remote Alertmanager: Use the same struct for Grafana stat and Mimir full state
2025-07-11 10:10:30 +02:00
Ryan McKinley ac86126a57 Chore: Update auto-generated clients (#107986) 2025-07-11 09:49:41 +02:00
Robert Horvath dcea36dffc Add Relyance github action (#107012)
* add relyance workflow

* add relyance config

* exclude folders and patterns from scanning

* add security as codeowner of relyance
2025-07-11 08:44:47 +02:00
Yunwen Zheng b1c50d6354 Revert "KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab" (#107933)
Revert "KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab (#107537)"

This reverts commit a2a28b207c.
2025-07-11 08:48:50 +03:00
Kristina a01b4c31a1 Transformations: Allow queries without dataframe results to be selectable as filters (#107152)
* Add mention of external type to correlations docs

* 🆗

* Merge request targets in with results

* Ensure we do not mutate result set
2025-07-10 18:47:18 -05:00
linoman a1e4280603 SCIM: Add is provisioned field to update command (#107978)
* Remove noisy log line

* Add IsProvisioned field to UpdateUserCommand

* Update user store to include the new IsProvisioned field

* Update store tests to include the new IsProvisioned field
2025-07-10 23:49:45 +02:00
Blueswen 1cd6ef6b84 Docs: Align Jira documentation with contact point options (#105069)
Align with option names in contact point.

To avoid confusion, ensure that the documentation aligns with the option names used in the Jira contact point.
2025-07-10 21:15:04 +00:00
Adam Yeats 82e380ed90 InfluxDB: Handle STRING_VIEW datatype (#107812)
This PR fixes an error when reading STRING_VIEW columns by correctly mapping STRING_VIEW in the newField factory and by adding a dedicated test to validate copyData’s handling of both nullable and non‐nullable STRING_VIEW arrays. This enables the Distinct Value Cache feature of InfluxDB v3 Enterprise for use.
2025-07-10 21:41:57 +01:00
Mihai Turdean a3af6023c3 Zanzana: Support more cache configuration options (#107155) 2025-07-10 19:51:02 +00:00
Ryan McKinley 06c00e4fa7 Chore: apimachinery types cleanup (#107988) 2025-07-10 12:45:16 -07:00
Stephanie Hingtgen 13a89d4ae3 Revert: Future-proofing query and data source model in Dashboard Sche… (#107985)
* Revert: Future-proofing query and data source model in Dashboard Schema v2

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-07-10 18:58:33 +00:00
maicon 18b5a9eb8d Run TestIntegrationFoldersApp for all dualwriter modes on sqlite only (#107818)
* Run TestIntegrationFoldersApp for all dualwriter modes on sqlite only

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 18:16:27 +00:00
Matias Chomicki 86aa70322b New Logs Panel: Parse JSON by default and show highlighted log in details (#107953)
* processing: sanitize highlighted log before highlighting

* processing: prettify json by default

* LogLineDetails: render prettified log

* processing: implement newlines truncation

* Remove log

* Linting issues

* Linting

* Update unit tests

* processing: use correct property

* Formatting

* processing: reflect updated collapse state

* processing: add test case

* processing: use lossless json to parse

* LogLine: receive logs for inline details stats

* Remove log

* LogListModel: specialize clone for loglinedetails
2025-07-10 18:07:27 +00:00
maicon b1fcdb9c09 Folders: run integration tests only for SQLite (#107979)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 14:48:14 -03:00
Stephanie Hingtgen 2b8c5bea1a Revert "Schema V2: Simplify annotations v1<->v2 conversions" (#107984)
Revert "Schema V2: Simplify annotations v1<->v2 conversions (#107390)"

This reverts commit d5a1781fb6.
2025-07-10 17:29:15 +00:00
Nathan Vērzemnieks 15e59a0ca7 Prometheus: Use patched grafana-aws-sdk middleware for panic handling (#107982)
Prometheus: use patched grafana-aws-sdk middleware for panic handling
2025-07-10 19:21:16 +02:00
Collin Fingar 0c76b52e8b Share Button: Added ClipboardItem route after Safari issues (#107925)
* Share Button: Added ClipboardItem route after Safari issues

* Removed console log

* Feedback fixes

* Test feedback fix

* Removed export
2025-07-10 12:59:41 -04:00
Roberto Jiménez Sánchez 7e0848294e Provisioning: Use Nanogit for basic git operations in Github repository type (#107889) 2025-07-10 09:46:38 -07:00
alerting-team[bot] 9df15d120d Alerting: Update alerting module to c5c6f9c1653d816439184c5ec580d3035feca417 (#107931)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-10 15:47:17 +00:00
Alex Spencer a027575435 Transformations: Prototype search tags (#105797)
* feat: init

* chore: i18n + improve formatting/style generally

* fix: i18n syntax...

* chore: i18n extract

* chore: some cleanup

* chore: cleanup

* chore: i18n
2025-07-10 08:28:51 -07:00
Dominik Prokop 190b9e1b06 kubernetesDashboards: Fix dashboard export e2e test failing with v1 k8s API enabled (#107900)
Fix dashboard export e2e
2025-07-10 16:54:29 +02:00
Gareth 84ef5bc744 Remove jaegerBackendMigration feature toggle (#107702)
* remove feature toggle if statements

* remove unused impoerts

* remove unused private functions

* prettier

* official ft removal

* fix some failing tests in datasource.test.ts

* clean up test file

* update test names

* remove tests for testDatasource

* remove describe

* tests

* fix import order

* betterer
2025-07-10 15:54:16 +01:00
colin-stuart ac7a411c53 SCIM: Update allow non-provisioned users dynamic config field (#107912)
SCIM: add dynamic non-provisioned users allowed setting
2025-07-10 09:18:30 -05:00
renovate[bot] 441f56f6ce fix(deps): update dependency micro-memoize to v4.1.3 (#107966)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 13:59:51 +00:00
Misi 1f3dc0533c Auth: Add tracing to auth clients and AuthToken service (#107878)
* Add tracing to auth clients + authtoken svc

* Fix span names

* Fix ext_jwt.go

* Fix idimpl/service

* Update wire_gen.go

* Add tracing to JWT client

* Lint
2025-07-10 15:41:00 +02:00
renovate[bot] 01269c5dd1 chore(deps): update dependency postcss to v8.5.6 (#107960)
Update dependency postcss to v8.5.6

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 13:34:38 +00:00
Matias Chomicki d74aac3da5 virtualization: check for index (#107963)
* virtualization: check for index

* Add regression test
2025-07-10 13:18:02 +00:00
maicon a8733f9a05 Fix TestIntegrationFoldersGetAPIEndpointK8S (#107924)
Run TestIntegrationFoldersGetAPIEndpointK8S only for SQLite

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-10 09:58:35 -03:00
renovate[bot] ff8a9fa462 Update dependency lerna to v8.2.3 (#107957)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 12:23:07 +00:00
Peter Štibraný 8fd5739576 [unified-storage/search] Don't expire file-based indexes, check for resource stats when building index on-demand (#107886)
* Get ResourceStats before indexing
* Replaced localcache.CacheService to handle expiration faster (localcache.CacheService / gocache.Cache only expires values at specific interval, but we need to close index faster)
* singleflight getOrBuildIndex for the same key
* expire only in-memory indexes
* file-based indexes have new name on each rebuild
* Sanitize file path segments, verify that generated path is within the root dir.
* Add comment and test for cleanOldIndexes.
2025-07-10 11:54:10 +00:00
Mustafa Sencer Özcan 2e568ef672 test: reenable dashboard integration tests and restructure based on dual writer modes (#107941) 2025-07-10 13:52:58 +02:00
renovate[bot] 325863ba94 Update faro to v1.19.0 (#107946)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 12:47:02 +01:00
John-George Sample c788b35dae chore: fix typo in FlameGraph docs (#107921) 2025-07-10 13:32:36 +02:00
Gábor Farkas 5ec1bd91df datasources: querier: log empty refids (#107111)
* datasources: querier: log empty refids

* improved logging
2025-07-10 13:28:45 +02:00
Mariell Hoversholm 956ae0b283 Actions: Run prettier on docs changes (#107949) 2025-07-10 12:58:13 +02:00
Roberto Jimenez Sanchez 106206ae93 Ignore delete error if not found 2025-07-10 12:45:35 +02:00
Roberto Jimenez Sanchez b0df15c770 Fix issue with path in folder deletion
Folder path must not have a trailing slash in Nanogit
2025-07-10 12:45:35 +02:00
Stephanie Hingtgen 2484402f7a address PR comments 2025-07-10 12:45:35 +02:00
Stephanie Hingtgen 4386085aa9 fix linter 2025-07-10 12:45:35 +02:00
Stephanie Hingtgen bd81243bbb Git sync: Implement folder deletion 2025-07-10 12:45:35 +02:00
Hugo Kiyodi Oshiro b41b233d7d Plugins: Levitate workflow improvements on forks (#107832) 2025-07-10 12:12:12 +02:00
Georges Chaudy b6dd08da2f unistore: fix delete and db closed in kv store (#107918)
* fix delete and db closed

* fix tests
2025-07-10 11:34:36 +02:00
renovate[bot] befc947fee Update dependency glob to v11.0.3 (#107915)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 09:28:05 +00:00
Jay Clifford fccda2440e ExtensionSidebar: Render multiple sidebar buttons in topnav (#107875)
* feat: modified toolbar item so buttons render invidually

* added icon for investigations

* Update public/app/core/components/AppChrome/ExtensionSidebar/ExtensionToolbarItem.tsx

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

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-07-10 09:16:47 +00:00
Matheus Macabu b6c4788c2a Auth: Add functional option for static requester methods (#107581)
* Auth: Add functional option for static requester methods

Initially supporting WithServiceIdentityName to set a ServiceIdentity
inside the Claims.Rest object, so that Secrets Manager can parse
the service requesting secret decryption.

On Secret creation, the service will have to pass its identity
(which is a freeform string) to the SecureValues' Decrypters object.

This field gates which services are allowed to decrypt the SecureValue.

And upon decryption, the service should build a static identity with
that same service identity name when calling the decrypt service.

* StaticRequester: Put secret decrypt permission in access token claims

* StaticRequester: Inline getTokenPermissions function
2025-07-10 10:10:57 +02:00
Andres Martinez Gotor e4650d3d8f Advisor: Update app-sdk and regenerate code (#107786) 2025-07-10 09:55:10 +02:00
Gabriel MABILLE 85a6a7b9c1 iam: add description field to roles (#107888)
* iam: add description field to roles

* Openapi gen

* Revert launch change
2025-07-10 09:24:30 +02:00
Ivana Huckova 5d0f519c0d Docs: Update min supported Loki version to v2.9+ (#107853) 2025-07-10 09:02:53 +02:00
Yunwen Zheng 38db533e6e NewProvisionedFolderForm: Preview folder name message (#107739)
* NewProvisionedFolderForm: pass in empty title for new folder form

* NewProvisionedFolderForm: preview folder name

* i18n, fix test

* Added test

* added todo

* PR comment

* i18n
2025-07-10 09:40:26 +03:00
grafana-pr-automation[bot] 0e53749906 I18n: Download translations from Crowdin (#107936)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-10 00:38:17 +00:00
Lucy Chen 58e0c05150 E2C: Add new error for alert rule quota (#107225)
* add new error for alert rule quota

* add alert rule group quota error

* make openapi3-gen

* revert message

* update translation

* prettier

* update text per review suggestion
2025-07-09 15:25:20 -04:00
Gilles De Mey 421352f251 Alerting: Support group view in breadcrumbs (#107901) 2025-07-09 20:59:33 +02:00
maicon 0012345a7e Folders/apiserver: Fix mutate method for folders (#107819)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 15:57:04 -03:00
Paul Marbach a63a9357bb TableNG: Follow-up style fixes (#107274)
* open cell inspect in code mode for JSON panels

* increase opacity of TableCellActions background for legibility in overlap cases

* fix nested grid width calculation

* fix 'jumping' on hover overflow

* route transparency through (needs a scenes update)

* base row hover color on transparency

* update the colors for table

* remove console.log

* reinstate header toggle for nested row transformation

* fix #59474 - graceful handling when subtable has no rows

* fix i18n

* use TABLE.LINE_HEIGHT

* change nestedData back to const
2025-07-09 14:54:48 -04:00
Gilles De Mey ebe494c7e6 lint CONTRIBUTING.md (#107923) 2025-07-09 18:31:14 +00:00
Josh Hunt 37bfea8685 FrontendService: Add tracing to frontend service (#107236)
* FrontendService: Add tracing to frontend service

* wire gen

* fix test
2025-07-09 19:21:31 +01:00
Paul Marbach 9aaaa87bcf TableNG: Fallback to AutoCell when cellType is unmapped (#107920) 2025-07-09 17:29:13 +00:00
fa1thw 5612edd8b5 Update CONTRIBUTING.md (#107587)
This update replaces outdated URLs and provides structural updates to the contribution guide.
2025-07-09 19:08:37 +02:00
Gilles De Mey 889cf57055 Alerting: Fix flakey test for group loader (#107909) 2025-07-09 19:00:45 +02:00
Josh Hunt 0cde9e4f3f UI: Disable tabular numbers toggle by default (#107911)
* UI: disable tabular numbers toggle

* gen
2025-07-09 16:57:16 +00:00
maicon a7aed23d47 Disable TestIntegrationFoldersGetAPIEndpointK8S for all databases (#107913)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 16:55:15 +00:00
Matt Cowley 21f305c6a0 Plugin Configs: Fix Env types (#107908) 2025-07-09 17:54:00 +01:00
renovate[bot] d9bf13e33f Update scenes to v6.27.2 (#107906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 16:44:46 +00:00
Yuri Tseretyan 4bb6926eee Alerting: Separate configuration model for remote Alertmanager Mimir client (#107741)
* replace PostableUserConfig with GrafanaAlertmanagerConfig to decouple from internal Grafana models
* update alertmanager + tests
* calculate hash of the GrafanaAlertmanagerConfig
2025-07-09 12:42:10 -04:00
Ashley Harrison 0e253721b0 Internationalisation: don't load plugin translations in test environment (#107891)
* make sure we're awaiting initPluginTranslations

* don't load plugin translations in test environments
2025-07-09 17:17:33 +01:00
maicon 4228ed789b Folders: disable TestIntegrationFoldersGetAPIEndpointK8S (#107897)
* Folders: disable TestIntegrationFoldersGetAPIEndpointK8S

it's breaking the enteprise CI pipeline

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

* Run only against sqlite

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

* noop: force backend change

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-09 15:44:20 +00:00
Peter Štibraný 9d2eadcfd2 PoC: replace using testing.Short in storage/unified package with integration test skip method (#107887)
* PoC: check if testing.Short is called from integration tests only.

* Rename helper function.

* Fix logic.

* Remove skipping of integration tests from non-integration tests.

* Remove skipping of integration tests from non-integration tests.

* Fix import.
2025-07-09 15:32:10 +00:00
Matias Chomicki 5108225785 Logs Panel: Explose details mode and default to inline (#107902)
Logs Panel: Explose details mode
2025-07-09 17:31:10 +02:00
renovate[bot] 4ab519c825 Update dependency expose-loader to v5.0.1 (#107877)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 15:18:09 +00:00
Will Browne 1e0fd825eb Plugins: Simplify assetpath logic (#107876)
* simplify assetpath logic

* fix tests
2025-07-09 15:48:52 +01:00
Misi 1d252de1e9 Docs: Clean up ssoSettingsApi references from docs (#107896)
* Clean up ssoSettingsApi references from docs

* lint
2025-07-09 14:22:07 +00:00
Matias Chomicki 2e58ce7980 Log Line Details: Add inline mode for the Details component (#107718)
* LogLineContext: add sidebar mode

* LogLine: initial support for inline details

* LogLine: finally figure out field overflow

* LogLineDetails: support inline details in unwrapped mode

* LogLineDetails: fix borders in inline mode

* LogLineDetails: support unwrapped inline details

* LogLineDetails: fix inline unwrapped mode

* LogLineDetails: debug and translations

* Fix types

* LogLine: update test

* LogLineDetails: slightly taller

* LogListContext: fix NaN default width

* Remove console log

* LogList: add inline details test

* virtualization: update test

* Fix imports
2025-07-09 16:07:19 +02:00
Gilles De Mey 5d92f3eee5 Alerting: Fix silence / delete on new list view (#107885) 2025-07-09 13:44:44 +00:00
Bruno 8283d35e56 Secrets: make operations sync (#107732)
* Secrets: make operations sync

* k8s gen / update query to list secure values to include the version

* always store new version of a secret

* make update-workspace

* go mod tidy

* update queries

* update queries

* improve and use testutils in decrypt_store_test

* fix broken test

* make update-workspace

* ./hack/update-codegen.sh secret

* update Test_SecureValueMetadataStorage_CreateAndRead

* undo dependency changes

* linter: fix remaining errors

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-09 10:43:34 -03:00
Gilles De Mey ded7912ea3 Use Group Loader for the group detail view (#107780) 2025-07-09 15:41:20 +02:00
Nathan Vērzemnieks f34a9fc0c2 CloudWatch: Fix http client handling + assume role bug (#107893) 2025-07-09 15:28:50 +02:00
Jack Westbrook c5fbf6217c Frontend: Replace LogicMonitor logo (#107881)
* chore(frontend): replace 2.75mb logicmonitor logo with smaller svg

* chore(frontend): update logicmonitor logo to match previous dimensions
2025-07-09 14:12:58 +02:00
Roberto Jiménez Sánchez b249942b61 Bump nanogit 2025-07-09 (#107871)
* Bump nanogit 2025-07-09

This version contains significant performance improvements in memory and
CPU thanks to optimizing buffers, using a faster zlib library and using
streaming instead of loading everything in memory.
2025-07-09 14:03:29 +02:00
Hugo Häggmark 0f3edd3b5f Plugins: renames snake cased plugin files (#107862)
* Plugins: renames plugin_loader

* test(pluginloader): fix mock paths to pluginLoader

* chore: rename sandbox files

* Trigger build

* Trigger build

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-09 13:18:44 +02:00
Jack Westbrook d786316766 Plugin Configs: Use nodes strip types for processing webpack configs (#105542)
* feat(plugin-configs): update configs to work with nodes strip-types feature

* build(parca): use nodes experimental-strip-types so build works with node 22 - 24

* build(decoupled-plugins): support nodes strip types feature for webpack builds

* build(e2e-test-plugins): update build scripts and config to work with node strip types

* style(plugin-configs): fix import/order lint errors

* refactor(plugins): use allowImportingTsExtensions in favour of ts-ignore comments

* refactor(plugin-configs): clean up ts-ignore and ts-expect-error comments in webpack.config

* refactor(plugin-configs): fix up changes for nodes strip-types flag

* chore(loki): fix up build command for node 24 support
2025-07-09 10:38:17 +00:00
renovate[bot] 99f3dc859d Update dependency eslint-plugin-react to v7.37.5 (#107873)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:32:05 +00:00
Konrad Lalik 89c09a14b8 Alerting: Extensible Settings module (#107831)
* Add extension points to the Settings page

* wip

* Update Settings page routing to catch unmatched routes and redirect to alertmanager

* Add settings page extension

* Refactor settings navigation

* Refactor settings navigation hook

* Update import paths

* Add Settings page tests for custom tabs

* Update translations

* Add a route explanation

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-07-09 12:29:39 +02:00
Ashley Harrison 92121a1030 Cascader: Fix icon not showing (#107869)
* fix image path for angle-right

* use proper icon utils
2025-07-09 11:24:21 +01:00
renovate[bot] 07ca8ca3e7 Update dependency eslint-plugin-no-barrel-files to v1.2.1 (#107868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:04:10 +00:00
renovate[bot] ae7a3db917 Update dependency @grafana/google-sdk to v0.3.4 (#107865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:38:46 +00:00
Ashley Harrison ca73093573 i18n actions: only run in main repo (#107864)
* don't run download/upload in the security mirror

* better check
2025-07-09 09:18:33 +00:00
renovate[bot] df3bb9fba4 Update dependency i18next to v25.3.2 (#107863)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:14:20 +01:00
Nathan Vērzemnieks c3eeb1fcd9 CloudWatch: Fix proxy transport issue (#107807)
CloudWatch: fix proxy transport issue
2025-07-09 11:03:53 +02:00
Piotr Jamróz e78411f17a Tempo: Fix showing dangling edges in NodeGraph (#107245)
* Tempo: Fix showing dangling edges in NodeGraph

* Remove comment
2025-07-09 10:53:31 +02:00
renovate[bot] aa17dd8056 Update dependency esbuild to v0.25.6 (#107799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 09:36:22 +01:00
Ryan McKinley 3f502f305d Chore: Update mocks with recent mockery (#107816) 2025-07-09 09:15:34 +02:00
Alex Khomenko 39904d7b9b Provisioning: Move dashboard from setting page (#107793)
* Provisioning: Move dashboard from the settings page

* Cleanup

* i18n

* Add noMargin

* Add test

* Use new pr param

* Cleanup

* Fix tests

* i18n

* betterer
2025-07-09 10:10:05 +03:00
Daniele Stefano Ferru d7f7a19c56 Dashboard permissions: Update integration tests to take into account kubernetesDashboards flag value (#107706)
Dashboard permissions: Update integration tests to take into account  flag value
2025-07-09 08:46:27 +02:00
xavi e4743a9092 IAM: Return 401 if identity type is not valid in GetUserPreferences (#107760)
fix(GetUserPreferences): Return 401 if identity type is not valid
2025-07-09 08:35:18 +02:00
Hugo Häggmark 20c700dd52 Chore: reduces barrel files part II (#107688)
* Chore: reduce barrel files

* chore: fixes unit test

* Chore: reduces barrel files part II

* chore: fix import sorting
2025-07-09 06:15:33 +02:00
grafana-pr-automation[bot] 5e1d7cbd2e I18n: Download translations from Crowdin (#107813)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-09 00:38:37 +00:00
Alyssa Joyner 6c20ad0013 [InfluxDB] Change default HTTP method to POST (#107787) 2025-07-08 15:19:22 -06:00
Alex Spencer 869094bb37 SQL Expressions: Reconfigure add expression button for improved UX (#106797)
* feat: reconfigure expression button for improved UX

* chore: fix broken test

* chore: refactor to use improved UX + combine another UI PR.

* chore: i18n

* chore: memoize options + add data test ids for tracking

* chore: common component for expression dropdown

* chore: streamline common component

* chore: add event tracking

* chore: put event tracking in its own PR
2025-07-08 14:11:54 -07:00
maicon 79ebe2dc10 Folders: Ensure all folder tests under /pkg/tests/apis/folders are handled as integrations tests (#107801)
Folders: ensure integration tests are executed in our CI pipeline

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-08 16:32:41 -03:00
Leon Sorokin dd1fce5c8a Search: Use case-insensitive substring matching in fuzzySearch fallback (#107661) 2025-07-08 14:14:00 -05:00
Alex Spencer efe46c8aad Limit: Invalidate field reducer calcs on applying limit transformation (#106723)
* fix: clear state calcs when limit transformation is applied

* chore: fix limit tests expected values
2025-07-08 11:37:54 -07:00
Leon Sorokin 68ee251c5c TableNG: Extract links and actions tooltip into cell root renderer (#107667)
* TableNG: Extract links and actions tooltip into cell root renderer

* make TS happy

* fixes & tweaks

* lint

* skip datalinks and actions tooltip on those cell types

* add todo

* withTooltip lookup

* fix

* optional getActions

* fix

* kill cursor: 'context-menu'

* stop event propagation from TableCellActions

* update tests to move tooltip tests up to TableNG

* remove safety assertion

* add value back to DataLinksActionsTooltip

---------

Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-07-08 14:24:03 -04:00
Yunwen Zheng 412415ab39 NewProvisionedFolderForm: pass in empty title for new folder form (#107733)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-07-08 18:00:51 +00:00
renovate[bot] 0b28a53923 Update dependency @grafana/lezer-logql to v0.2.8 (#107797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 16:53:35 +00:00
Kristina fdc6a0d774 Transformations: For Convert Field Type, clone conversions as to not mutate defaultOptions (#107752)
Clone conversions as to not mutate defaultOptions
2025-07-08 11:29:14 -05:00
renovate[bot] 1eef358deb Update dependency css-minimizer-webpack-plugin to v7.0.2 (#107796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 17:26:48 +01:00
Tim Levett 0fdcae4e26 Tables: Pills for Table Cells (#107485)
* v2 of pills for tables

* cleanup bettererrrrr

* cleanup pretty

* i18n changes

* add in the option for value mapping

* value mapping

* change to just use the value mapping from the table component

* tests fixed

* betterer all better now

* fix pretty

* i18n

* fix gen issue

* i18n

* fix merge issue

* Refactor pillcell to an interface for said pill, cleanup tests

* mind the space says prettier
2025-07-08 10:56:39 -05:00
renovate[bot] 0459382b25 Update dependency chrome-remote-interface to v0.33.3 (#107792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 15:54:26 +00:00
renovate[bot] 56dcb6c08a Update dependency chance to v1.1.13 (#107790)
* Update dependency chance to v1.1.13

* use same version of chance everywhere

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-07-08 15:13:54 +00:00
renovate[bot] 7728a51972 Update dependency chance to v1.1.13 (#107785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:28:26 +00:00
maicon 53537148e1 Folders: reenable unit tests (#107751)
* Folders: reenable unit test TestFoldersCreateAPIEndpointK8S

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

* reenable unit test TestFoldersGetAPIEndpointK8S

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-07-08 11:26:45 -03:00
Bruno 0f23988132 JWT.Authenticate: remove err != nil check for error that has already been checked (#107727) 2025-07-08 11:19:39 -03:00
Alyssa Joyner 4830969305 Add influx DRBP mapping (#107744) 2025-07-08 14:14:47 +00:00
renovate[bot] e920bd2d29 Update dependency autoprefixer to v10.4.21 (#107781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 13:54:06 +00:00
Matt Cowley dbbd9f23d1 Plugin Extensions: Expose PluginMeta generic in usePluginContext (#107577)
* Plugin Extensions: Expose PluginMeta generic in usePluginContext

* Plugin Extensions: Cast usePluginContext type on return

* Plugin Extensions: Fix PluginContext export
2025-07-08 15:51:30 +02:00
Jo 1e1fd3db38 OAuth: Add access token as third source for user info extraction (#107636)
* Add access token as third source for user info extraction

- Add extractFromAccessToken method to extract user info from JWT access tokens
- Mutualize code by creating parseUserInfoFromJSON helper method
- Rename methods for clarity: extractFromToken -> extractFromIDToken, retrieveRawIDToken -> retrieveRawJWTPayload
- Update test suite to include comprehensive access token retrieval scenarios
- Support three sources in priority order: ID token, API response, access token
- Maintain backward compatibility while adding new functionality

* Update Generic OAuth documentation to reflect access token support

- Add access token as a third source for user information extraction
- Update configuration sections to mention access tokens alongside ID tokens and UserInfo endpoint
- Document the priority order: ID token → UserInfo endpoint → access token
- Update configuration option descriptions to reflect new functionality
- Maintain consistency with implementation changes

* Refactor access token test cases to use parameter instead of hardcoded logic

- Add AccessToken field to test case struct for explicit access token specification
- Remove hardcoded string matching logic that determined access token based on test name
- Update all access token test cases to include the AccessToken field with appropriate JWT values
- Improve test maintainability and clarity by making access tokens explicit parameters
- Remove unused strings import that was only needed for the hardcoded logic

* fix doc lint

* reduce cyclomatic complexity
2025-07-08 15:38:11 +02:00
renovate[bot] 15967cb7ab Update dependency @types/webpack-env to v1.18.8 (#107777)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 14:26:25 +01:00
Alexa Vargas 2e3c2df6bf Dashboard: Add Alert icon in library panels (#107723)
* Use panel.id from the dashboard to filter alterts properly

* add unit test

* Fix linting

* add fix back

* fix betterer in test, use same pattern as DashboardDatasourceBehaviour
2025-07-08 15:08:01 +02:00
Alexa Vargas e33047bdf1 Dashboard: Library Panels - Add ability to search by folder name (#106997)
* Dashboard: Add ability to search by folder name in library panels

* restore to main to fix linting issues

* restore from main to avoid go linting issues

* add logic to the writers.go that search by folder title if folder is not passed

* add missing left joing from the folder table

* Add extra logic to prevent folder searches without permission

* fix go linting issue about memory

* Add test when searching by folder name

* Refactor tests to include a bit more validation

* apply feedback and use SearchFolder from search folder service

* clean up comments

* Update pkg/services/libraryelements/database.go

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* Fix logic of early return

* Extract into a function and remove the left join

* Apply feedback to be aligned with idiomatic go

* Apply suggestion from @evictorero

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>

* fix liting

---------

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2025-07-08 15:07:22 +02:00
Kevin Minehart 047349638d CI: Run lerna bump version before yarn build (#107731)
lerna bump version before yarn build

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2025-07-08 14:58:45 +02:00
renovate[bot] 35bf093201 Update dependency @types/systemjs to v6.15.3 (#107774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 12:56:49 +00:00
Hugo Kiyodi Oshiro 6c1ff32501 Plugins: Improve levitate report on forks (#107252) 2025-07-08 14:52:02 +02:00
Dominik Prokop d5a1781fb6 Schema V2: Simplify annotations v1<->v2 conversions (#107390)
* Initial migration pending to test

* Update tests

* apply feedback

* Remove unnecessary types

* Fix types

* Update tests

* fixing tests

* Default DS for transformer

* Update the default DS

* Update the generated sdk files

* Restore commented tests

* Update tests

* Updating snapshots

* fix

* Do not preserve empty datasource in panel spec

* update provisioning v2 sample dashboard

* Fix test

* Prettier

* Fix import e2e

* Prettier

* restore commented tests

* Update to support annotations

* Lint

* Make gen apps

* Make the build pass

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

* Update grafana-app-sdk to 0.39.2

* Workspace update

* make gen-cue

* Runtime error fix

* Update dashboard spec

* Update go workspaces

* Schema V2: Simplify annotations v1<->v2 conversions

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Cleanup and some more tests

* test improvement

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

* Update go.sum

* make generate

* Update public/app/features/dashboard-scene/serialization/transformSceneToSaveModelSchemaV2.ts

Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>

* ts

* make gen-apps

* Update response transformers to correctly handle v2->v1 annotations

* Update dashboards openapi snapshot

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
2025-07-08 14:42:30 +02:00
Dominik Prokop feedb5c0a6 PublicDashboardsBadge: Fix react warning (#107768) 2025-07-08 14:40:13 +02:00
Josh Hunt a9e70d4a1d Storybook: Rearrange and tidy stories (#107270)
* Tidy up storybook a little bit

* change sort order, delete some stories

* More tidy up of actions

* More tidy up of actions

* tweak story sorting, again

* Make all internal stories public

* fix sort

* Add ESLint rule to enforce storybook titles

* update verify storybook test

* simplify glob
2025-07-08 12:37:09 +00:00
renovate[bot] d27d8f02b6 Update dependency @types/node-forge to v1.3.12 (#107769)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 12:32:29 +00:00
renovate[bot] 2fabedc363 Update dependency @types/lodash to v4.17.20 (#107767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 11:50:43 +00:00
Gilles De Mey 95d4909475 Alerting: Add oncall contact point type and narrow create hook function (#107711) 2025-07-08 13:35:09 +02:00
renovate[bot] 5d2bbfd3ee Update dependency @rollup/plugin-node-resolve to v16.0.1 (#107766)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 11:27:09 +00:00
Yunwen Zheng 2de7f424f5 BrowseDashboardsPage: added new pull request banner on new folder creation (#107596)
* BrowseDashboardsPage: added ProvisionedFolderPreviewBanner to display new provisioned folder on branch alert

* add comment

* fix test

* i18n

* Added test for PreviewBannerViewPR

* fix test, i18n fix
2025-07-08 14:24:16 +03:00
Dominik Prokop 365234c2fe PublicDashboards: Use API to render public dashboard badge (#107638)
* PublicDashboards: Use API to render public dashboard badge

* i18n

* Keine console bitte

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

* Update tests
2025-07-08 13:11:25 +02:00
renovate[bot] 285c69c487 Update dependency react-calendar to v6 (#107726)
* Update dependency react-calendar to v6

* add esmodules to jest config

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-08 10:53:50 +00:00
grafana-pr-automation[bot] d22842b52b I18n: Download translations from Crowdin (#107750)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-08 10:03:08 +00:00
Matias Chomicki 89e8a03859 New Log Details: Add support to sort displayed fields (#107635)
* Create LogLineDetailsDisplayedFields

* Log labels: properly implement plurals

* Pluralize

* LogListContext: pass setDisplayedFields

* LogLineDetailsDisplayedFields: update displayed fields

* LogLineDetails: scroll to item after opening details

* LogListContext: serve logOptionsStorageKey

* Update test

* Missing translations

* LogLineDetailsDisplayedFields: update styles

* LogLineDetails: update text selectors

* Update tests

* Reorganize log details: improve discoverability

* Update test
2025-07-08 11:57:28 +02:00
Tobias Skarhed 509990ca89 Variables: Change vis library from visj-network to vis-network (#107712)
* Change from visj-network to vis-network

* Check that ref exists

* Remove vis-util as a direct dependency

* Update betterer

* Address PR feedback
2025-07-08 09:30:46 +00:00
Fayzal Ghantiwala de50c5a497 Alerting: Fix crypto_test.go errors in CI (#107759)
Fix test
2025-07-08 11:03:26 +02:00
Levente Balogh 5b7f06c24e Extensions: Wrap extension components with a sandbox wrapper div (#103064)
* feat(sandbox): wrap extension components with sandbox wrapper div

* fix: remove circular dependency

This was caused by sandbox_plugin_loader_registry -> helpers -> backend_srv -> ... plugin_loader -> setup.

* fix: add dependency to react hook

* tests: add tests for extensions sandbox wrapper

* fix: only wrap modal content after plugin loading

* chore: remove unused code

* Wip

* review(actions.ts): extract logic to function

* test: remove testing app id

* tests: fix extension utils tests

* tests: remove unnecessary code
2025-07-08 07:10:19 +02:00
Jacob Valdez 6c2574848f Docs: Updating team sync availability (#107721) 2025-07-07 16:07:50 -05:00
Gabriel MABILLE 1244f5c53d AuthZ: Add CoreRoleStorageBackend to the extension set (#103912)
* Wiring

* Trigger CI

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
2025-07-07 20:08:44 +02:00
Kristina 0f2284d5e6 Transformations: Reduce > Reduce fields should not persist labels between reducers (#107590)
Reduce fields should not persist labels updates between reducers
2025-07-07 12:05:55 -05:00
Paul Marbach 7181f8d89d TableNG: Update description for wrapHeaderText (#107722) 2025-07-07 12:36:41 -04:00
renovate[bot] 34c7ea9c28 Update dependency marked to v16 (#107717)
* Update dependency marked to v16

* mark marked as esmodule for jest

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-07 16:18:37 +00:00
Yuri Tseretyan c93fd3ee9e Alerting: idempotent decrypt\encrypt operations on extra configs (#107592)
* add prefix to encrypted string to distinguish between unencrypted and encrypted ones

---------

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-07-07 12:17:41 -04:00
Yuri Tseretyan d15e1ad8d0 Alerting: Fix route validation in provisioning service (#107550)
* introduce ExtraConfigsCrypto
* delete getLastConfiguration and move all code into method Get
* update legacy store to encrypt ExtraConfigs same way we do in MultiOrgAlertmanager
* update legacy store init
* delete PersistConfig
* remove unnecessary unmarshalling
* add better error

* add tests for legacy store

* add tests that cover extra config validation

* add integration test for conflicting routes

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-07-07 12:16:31 -04:00
Ashley Harrison 757886c704 Chore: ignore /mocks/** from the betterer results (#107708)
ignore /mocks/** from the betterer results
2025-07-07 17:02:59 +01:00
renovate[bot] 381cd95932 Update dependency i18next to v25 (#107707)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 16:48:05 +01:00
Ashley Harrison 31b71f79dd Internationalisation: Manual mark up following review (#107625)
* mark up and add confirmText to lint rule

* mark up and add ariaLabel to lint rule

* add confirmText to propertiesToCheck

* mark up and add body to propsToCheck

* mark up latest

* mark up 'Dashboard saved'

* mark up filterbyvalue options

* mark up tooltip options

* mark up and add lint rules for noOptionsMessage/loadingMessage

* mark up 'Convert field type'

* mark up placeholderText/noOptionsMessage

* mark up run query

* mark up variable editor fields

* mark up week start options

* mark up dashboard link options

* mark up prom options

* mark up builder/code toggles

* make CI happy

* kick CI
2025-07-07 16:43:19 +01:00
Yunwen Zheng a2a28b207c KBARResults: Add Cmd+Enter/Ctrl+Enter to open links in new tab (#107537)
* KBARResults:add command+enter to open selected link in new tab
2025-07-07 11:37:35 -04:00
Todd Treece 37c480def4 K8s: Add support for stored subresources in app runner (#105481) 2025-07-07 11:25:23 -04:00
renovate[bot] 14eaa3975b Update scenes to v6.27.1 (#107703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 14:56:40 +00:00
renovate[bot] 14e98d740b Update dependency swagger-ui-react to v5.26.2 (#107699)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 14:28:17 +00:00
renovate[bot] df2e1d7ef2 Update dependency diff to v8 (#107684)
* Update dependency diff to v8

* remove @types/diff

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-07 14:02:03 +00:00
Matheus Macabu cc069d301e Secrets: Skip allowlist check when decrypting if the list is empty (#107693) 2025-07-07 15:32:39 +02:00
Ivan Ortega Alba 075770070e Future-proofing query and data source model in Dashboard Schema v2 (#104194)
---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: spinillos <selenepinillos@gmail.com>
2025-07-07 15:31:25 +02:00
Levente Balogh cfa05a63c5 Plugin Loader: Don't load an app plugin multiple times (#107579)
* fix(plugin_loader): don't import an app plugin twice

* review: extract IIFE to a separate function (async part of plugin loading)

* fix: remove code for testing
2025-07-07 15:05:13 +02:00
Georges Chaudy 7787ff6b2e unistore: add more kvstore tests (#107692)
add more kvstore tests
2025-07-07 15:00:40 +02:00
Gilles De Mey ddbba7b460 Alerting: Add support for "alerting.notifications.routes.conflictingMatchers" (#107687)
add support for "alerting.notifications.routes.conflictingMatchers"
2025-07-07 14:56:31 +02:00
Andres Martinez Gotor 28ef5672c4 Update Advisor docs (#107683)
* Update advisor docs

* Update _index.md

---------

Co-authored-by: Anna Urbiztondo <anna.urbiztondo@grafana.com>
2025-07-07 14:53:09 +02:00
Levente Balogh 77f84e494d Plugin Extensions: Add error boundaries (#107515)
* feat(grafana-data): expose PluginContext

This is aimed to be used in the `PluginErrorBoundary` (which is a class component, and cannot use the hook.)

* feat(PluginErrorBoundary): add an error boundary for plugins

* feat(ExtensionsErrorBoundary): add an error boundary for extensions)

* feat(Extensions/Utils): wrap components with error boundaries

* feat(Plugins): wrap root plugin page with an error boundary

* fix: Fallback component should always be visible for onClick() modals

* review: use object arguments instead of positional ones for `renderWithPluginContext()`

* review: update `wrapWithPluginContext()` to receive args as an object

* refactor(AppChromeExtensionPoint): remove the error boundary

We have an error boundary on the extensions-framework level now

* refactor(ExtensionSidebar): remove the ErrorBoundary from the extensions

This is handled on the extensions-framework level now.

* test(ExtensionSidebar): add tests

* chore: translation extraction

* chore: prettier formatting

* fix(PluginErrorBoundary): remove unnecessary type casting
2025-07-07 14:51:04 +02:00
Andres Torres c2b7acae35 chore(datasources): Adding debug logging to datasource provisioning when resource is not found in SqlStore (#107652) 2025-07-07 12:23:51 +00:00
Yash Suresh Chandra b9fba95849 Dashboard: Fix cache validation to prevent stale cache (#105918)
* compare dashboard updated at while fetching

* test added

* added created field in dashboard dto meta object for k8s api. fixed cache updation check

* code refactor

* code formatting with prettier

* added created at field in DashboardPageProxy.test.tsx
2025-07-07 14:06:01 +02:00
Gareth 5a39f29c74 Prometheus: display a warning when subquery is used (#106199)
* display warning when subquery used

* lint fix

* update tests to work with new return value

* prettier

* use object shorthand

* only warn agains x:x, ignore 2x:x

* update error message

* prettier

* fix tests

* add tests

* prettier

* Update packages/grafana-prometheus/src/components/monaco-query-field/monaco-completion-provider/validation.ts

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* prettier

---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2025-07-07 13:04:07 +01:00
Sriram 3b6784cfcf Postgres: Regroup config page for TLS related settings (#107686) 2025-07-07 12:30:19 +01:00
Ashley Harrison 6ce2fac2bb Internationalisation: Mark up geomap panel edit options (#107140)
mark up geomap panel edit options
2025-07-07 11:30:11 +01:00
Georges Chaudy 9b7e2aa5f3 unistore: add custom kv grpc (#107464)
add StorageTypeUnifiedKVGrpc
2025-07-07 09:57:08 +00:00
renovate[bot] 3387971cf2 Update dependency swagger-ui-react to v5.26.1 (#107681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 09:42:38 +00:00
renovate[bot] 344658fd48 Update dependency react-i18next to v15.6.0 (#107680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 10:18:40 +01:00
renovate[bot] 4698e194d3 Update dependency react-hook-form to v7.60.0 (#107677)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 08:53:49 +00:00
renovate[bot] 6d1d0a2167 Update dependency react-draggable to v4.5.0 (#107647)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 09:30:02 +01:00
xavi 2d8f751e6d Auth: make skipTokenRotationIfRecent feature flag enabled by default (#107676) 2025-07-07 10:24:36 +02:00
Bogdan Matei 524d6055c0 Dashboards: Fix persisting repeated panels resize after edit (#107386) 2025-07-07 10:30:33 +03:00
Hugo Häggmark 68cbd23916 Chore: reduces barrel files (#107512)
* Chore: reduce barrel files

* chore: fixes unit test

* chore: fix broken path
2025-07-07 09:23:27 +02:00
Konrad Lalik 3e6d620d2c Alerting: Remove ruler from alert list view2 (#106778)
* wip

* Add working actions for GMA rules based on Prom-only API

* Remove Ruler-loader related code for Grafana rules

Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>

* Remove outdated tests

* add some comments

* remove commented code

* remove showLocation property

* Add missing mocks in tests

* Add showLocation to GrafanaRuleListItem, improve useAbilities, address PR feedback

* Enhance GrafanaGroupLoader tests: Add permission checks and More button functionality

- Introduced user permission grants for alerting actions in tests.
- Added tests for rendering the More button with action menu options.
- Verified that each rule has its own action buttons and handles permissions correctly.
- Ensured the edit button is not rendered when user lacks edit permissions.
- Confirmed the correct menu actions are displayed when the More button is clicked.

* Update translations

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
Co-authored-by: Sonia Augilar <sonia.aguilar@grafana.com>
2025-07-07 09:13:09 +02:00
Gábor Farkas acdb0e151c datasources: remove empty if (#105314) 2025-07-07 08:58:48 +02:00
grafana-pr-automation[bot] 214fdc791d I18n: Download translations from Crowdin (#107659)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-05 00:36:53 +00:00
xavi 5b5d5fe675 Auth: fix role_attribute_path when using ID tokens in Gitlab OAuth (#107634) 2025-07-04 23:58:04 +02:00
Tobias Skarhed ab676ce035 Loki: Add scope filters to queries on the frontend (#104638)
* Add scopes to queries in DataSourceWithBackend

* Remove Prometheus-specific solution

* Readd prometheus support

* move scopes reordering ti loki ds

* Add tests and logQLScope feature flag

* Move featureToggles to before/after each

* Remove irrelevant file change
2025-07-04 18:35:52 +02:00
Paulo Dias 5edbdb7c4f Loki: Fix label browser not sorted after selection of a label (#107394)
* Explore(Loki): fix label browser not sorted after selection of a label

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

* fix: use collator instead of localCompares

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>

---------

Signed-off-by: Paulo Dias <paulodias.gm@gmail.com>
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-07-04 18:15:29 +02:00
renovate[bot] fe3d06928f Update dependency msw to v2.10.3 (#107643)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 16:08:03 +00:00
Isabel Matwawana 9112d86c04 Doc: Remove dynamic dashboards section (#107642) 2025-07-04 16:05:30 +00:00
renovate[bot] 835691b46f Update dependency marked-mangle to v1.1.11 (#107640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 15:29:11 +00:00
Matheus Macabu 59542bb95a Extensions: Undo removal of required enterprise dependencies (#107641) 2025-07-04 15:26:47 +00:00
Jean-Philippe Quéméner 3abe84121f feat(config): add config ensure_default_org_and_user (#107619) 2025-07-04 17:19:53 +02:00
renovate[bot] cc2eac7f84 Update typescript-eslint monorepo to v8.35.1 (#107633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:48:26 +00:00
Josh Hunt 443ea5924c Eslint: Allow 'unset' in no-border-radius-literal lint rule (#106619)
* allow border radius of 0

* Prefer unset or initial over 0

* readme

* add an autofix for 0 -> unset

* replace 0 with unset

* fix fixes tests

* fix snapshot

* Fix lint in SecretFormField

* fix unused cx
2025-07-04 15:43:48 +01:00
renovate[bot] efbcf9d8f7 Update dependency @prometheus-io/lezer-promql to v0.304.2 (#107631)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:30:53 +00:00
Yunwen Zheng 107c7fd8df fix empty folder form on root folder level (#107630) 2025-07-04 14:13:15 +00:00
Ashley Harrison 1e3f7bfd67 Internationalisation: Enable automatic scheduling for translations (#107629)
enable schedule for crowdin task creation
2025-07-04 14:08:17 +00:00
renovate[bot] 81a20caf6b Update dependency @floating-ui/react to v0.27.13 (#107628)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 14:06:53 +00:00
renovate[bot] 17ecd4c051 Update dependency typescript to v5.8.3 (#101501)
* Update dependency typescript to v5.8.3

* get correct window type

* fix @grafana/data

* update lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-07-04 14:43:01 +01:00
Carl Bergquist d0c474019a Go: exclude github.com/RoaringBitmap/real-roaring-datasets since it doesn't contain a LICENSE file. (#107609)
go.mod: exclude package without license file

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-07-04 15:32:02 +02:00
Arati R. 650abfd2ff Unified Storage: Remove distributor todo comment (#107623)
Remove todo
2025-07-04 12:59:22 +00:00
Georges Chaudy 6bb74ff56a unistore: add key validation (#107622) 2025-07-04 12:52:24 +00:00
Dana Axinte 46c38fdbb7 SecretsManager: Introduce worker and secret async service (#107614)
SecretsManager: Introduce worker and secret aysnc service

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-04 13:13:48 +01:00
Josh Hunt 76a21fb2e2 Docs: Clarify that log level critical is just an alias for error (#107454)
Docs: Clarify that level = critical is just an alias for error
2025-07-04 13:09:19 +01:00
Matias Chomicki 3ba2457a70 Query splitting: Interpolate queries at the start of the process (#107534)
* Loki query splitting: interpolate queries before execution

* Update tests

* Prettier

* shardQuerySplitting: remove unnecessary call
2025-07-04 11:45:30 +00:00
Arati R. dcb853d309 Unified Search: Remove resource-server-specific methods from distributor (#107607)
* Remove resource-server-specific methods from distributor
* Remove BlobStoreServer interface implementation from distributor
2025-07-04 12:48:27 +02:00
Josh Hunt 4d93380753 Storybook: Deploy PR previews (#107322)
* Create workflow to build storybook

* rename action, gate to non-forks

* fix my branch name

* add upload to gcs

* fix permissions

* login first

* try prod env

* remove login

* clean up GHA

* try to upload storybook to better path

* better cache node modules

* specify parent: false

* write summary

* fix summary url

* comment

* add comment

* fix commit hash

* add issue number to new comment

* remove comment stuff

* codeowners

* change deploy name preview

* fix
2025-07-04 11:35:52 +01:00
Bogdan Matei 47e5bd2316 TimeSeries/Trend: Fix infinite loop (#107615) 2025-07-04 09:26:43 +00:00
grafana-pr-automation[bot] c02f76d89a I18n: Download translations from Crowdin (#107601)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-04 09:08:21 +00:00
Misi 713f6d1551 IAM: Move resource definitions to apps/iam step 1 (#107389)
* wip

* Use serviceaccount model from /apps/iam

* revert version update

* Add tembinding, userteam, other improvements

* Change serviceaccounttoken spec

* Revert the change of ServiceAccountToken

* Revert the change of UserTeam

* Clean up

* Remove files that are not needed for now

* Lint

* Update sql query's integration tests

* Fix tests

* update openapi spec

* Move LastSeenAt to the annotations

* Updte openapi_snapshots

* Change lastSeenAt annotation name
2025-07-04 11:07:48 +02:00
Hugo Kiyodi Oshiro c7374b6910 Alerting: Add Synthetic and IRM link cards (#107538) 2025-07-04 10:52:43 +02:00
Dana Axinte 15e1aa8855 SecretsManager: Introduce decrypt store (#107586)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-07-04 09:22:10 +01:00
Tobias Skarhed ea4f783ebe Dependencies: Add resolution for outdated transitive deps (#107559)
* Add resolution for jsonlint

* Update get-document and gitconfiglocal
2025-07-04 09:26:16 +02:00
Sven Grossmann a1f1196352 Test Data Source: Allow inputs to render 0 values (#107578) 2025-07-04 08:33:33 +02:00
Leon Sorokin f2ffdd39ca TableNG: Reduce how often we re-measure row height (#107604) 2025-07-04 02:46:03 +00:00
Matias Chomicki 41014f29ed New Log Details: Create initial component for Log Details (#107466)
* Log Details: fork and refactor as functional

* LogDetailsBody: refactor styles

* LogDetails: decouple from old panel

* LogDetails: extract and centralize styles

* LogDetailsRow: refactor as functional

* Fix unused

* Fix wrong label

* LogDetails: create new component

* LogLineDetails: process links and add sample sections

* LogLineDetails: create and use LogLineDetailsFields

* LogLineDetails: group labels by type

* LogLineDetails: render all fields

* Removed unused components

* Fix imports

* LogLineDetails: fix label

* LogLineDetailsFields: fix stats

* LogLinedetailsFields: add base styles

* LogLineDetails: store open state

* getLabelTypeFromRow: internationalize and add plural support

* LogLineDetails: get plural field types

* LogLineDetails: sticky header

* LogLineDetails: introduce log details header

* LogLineDetails: extract into submodules

* LogDetails: add more header options and store collapsed state

* LogDetails: add scroll for log line

* LogLineDetailsHeader: add log line toggle button

* LogLineDetailsFieldS: improve sizes

* LogLineDetails: add search handler

* LogLineDetailsFields: implement search

* LogLineDetailsFields: switch to fixed key width

* LogLineDetailsFields: refactor fields display

* Link: remove tooltip

* Fix translations

* Revert "Link: remove tooltip"

This reverts commit cd927302a7889b9430008ae3b81ace0aed343f5f.

* LogLineDetailsFields: switch to css grid

* Remap new translations

* LogLineDetails: implement disable actions

* LogLineDetailsFields: migrate links to css grid

* LogLineDetailsFields: migrate stats to css grid

* LogLabelStats: make functional

* LogLineDetailsHeader: refactor listener

* LogLineDetailsFields: decrease column minwidth

* Reuse current panel unit tests

* Translations

* Test search

* Update public/app/features/logs/components/panel/LogLineDetails.test.tsx

* LogLineDetailsHeader: fix zIndex

* Create LogLineDetailsDisplayedFields

* Revert "Create LogLineDetailsDisplayedFields"

This reverts commit 57d460d966483c3126738994e2705b6578aac120.

* LogList: recover unwrapped horizontal scroll

* LogLineDetails: apply styles suggestion

* LogLineDetailsComponent: fix group option name

* LogLineDetailsHeader: tweak styles

* LogLineDetailsComponent: remove margin of last collapsable
2025-07-03 22:57:14 +02:00
Paul Marbach de370fb311 Chore: Upgrade scenes to 6.27.0 (#107594)
chore: upgrade scenes to 6.27.0
2025-07-03 15:42:09 -05:00
Carl Bergquist 115b639c54 Parca: upgrades to parca package to version that includes LICENSE file. (#107576)
deps: upgrade parc dep

Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-07-03 22:41:39 +02:00
Paul Marbach dd6a231aad TableNG: Add option to wrap header text (#107338)
* TableNG: wrapped header text option

* reorganize variable names and code for easier reuse

* refine height math

* move empty string check to after null check

* add tests for useHeaderHeight

* maybe a bit faster

* cleanup to avoid creating fns and objects all the time, some tests

* fix unit test

* cell was using panel height

* add borders between header cells to make resizing more obvious

* fix tests

* changes from mob review

* jk

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-07-03 14:21:58 -05:00
Ryan McKinley 20f30462ad DataSource: Support updating configs using UID (#107486) 2025-07-03 10:18:19 -07:00
Dana Axinte a59ec345c2 SecretsManager: Introduce metrics and logs (#107582)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-03 17:32:18 +01:00
Nathan Vērzemnieks 66d9a33cc9 Datasources: Update grafana-aws-sdk for new sigv4 middleware and aws-sdk-go v1 removal (#107522)
Datasources: Update grafana-aws-sdk
2025-07-03 17:48:57 +02:00
Yunwen Zheng 4414b92e93 Git UI Sync Create Dashboard: Fix update dashboard path field when folder selection changes (#107482)
Git UI sync when update folder selection, path field doesnt get update in the edit form
2025-07-03 11:19:09 -04:00
Matheus Macabu 27741d9a0c Air: Send interrupt signal for graceful server shutdown (#107507)
* Air: Dont run make gen-jsonnet

* Air: Send interrupt signal for graceful shutdown and wait 500ms
2025-07-03 16:50:48 +02:00
Dana Axinte cfd3b9f582 SecretsManager: outbox use message id (#107472)
* SecretsManager: outbox use message id

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* Remove query timestamp

* Add missing query

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-07-03 15:21:47 +01:00
ismail simsek aa22cf9e1f Prometheus: Don't use empty matcher if there is no match parameter (#107569)
* don't use empty matcher

* nit updates
2025-07-03 14:16:23 +00:00
Andrej Ocenas e76f470b44 NestedFolderPicker: Migrate to app platform API (#106926)
* Add /children endpoint

* Update folder client

* Add comment

* Add feature toggle

* Add new version of useFoldersQuery

* Error handling

* Format

* Rename feature toggle

* Remove options and move root folder constant

* Fix feature toggle merge

* Add feature toggle again

* Rename useFoldersQuery files

* Update API spec

* Fix test

* Add test

* Better typings

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-07-03 16:15:23 +02:00
Gareth 185ce90a4b Jaeger: Enable jaegerBackendMigration feature toggle by default (#107526)
* Jaeger: Enable jaegerBackendMigration feature toggle by default

* fix test

* update old-arch test
2025-07-03 14:45:22 +01:00
Victor Cinaglia 4f66c4a2a1 iam: Refresh live connection when ID tokens expire (#107209)
* iam: refresh live connection when ID tokens expire

* add coverage for the handler functions

* reinstate inadvertently broken unit test
2025-07-03 10:16:24 -03:00
Georges Chaudy 8d8b824f73 unistore: skipping badger test failing atm (#107572)
skipping badger test failing atm
2025-07-03 12:31:07 +00:00
Dana Axinte 4d8678c7f2 SecretsManager: Add base encryption manager (#107562)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-03 11:29:14 +01:00
Ivan Ortega Alba 93c14c52da Migrations: Compare backend and frontend outputs to ensure feature parity (#106851)
* wip: trying to understand how to get the ds info from migrator

* add datasource info provider

* Use DS service to fetch DS data

* add more tests cases to match with migrator cases

* Add snapshots

* Non-existing DS

* Add different DS for snapshots

* fix import

* Fix tests: guard against double initialization

* don't use full datasource package in test

* min version should be 35

* fix test

* fix conversion test

* Dashboards: Support schemaVersion v35 migration in backend

* Dashboards: Support schemaVersion v34 migration in backend

* Dashboards: Support schemaVersion v33 migration in backend

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Apply feedback

* Remove unused parameters

* Refactor to follow Go patterns

* Update logic

* Only write final migration result as output

* Compare backend and frontend results

* Improve snapshots to cover all possible use cases

* Linter

* wip make it consistent v33

* apply feedback

* Return default when the ref cannot be found

* Update apps/dashboard/pkg/migration/schemaversion/v33.go

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* apply feedback

* Use same mocks backend/frontend

* restore migrations

* update snapshots

* Adapt migration tests to use min versions

* Ensure v40-v41 works

* Ensure v39-v40 works

* Simplify the naming of the files

* adjust jest to new input convention

* Ensure every migration v36-v41 works

* Improve v38 naming

* Ensure v36 migrates correctly

* Skip v36 refs migrations on rows

* Treat rows as frontend and ensure same results for v36

* Ensure v34 runs with the same logic than the frontend

* Leave empty stadistics as valid option

* ensure v33 is working as the frontend

* Update tests

* Undo frontend changes for legend handling

* Remove filtering by version in the frontend

* linter

* Clean up v33 input JSON

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-07-03 12:23:51 +02:00
Mustafa Sencer Özcan b7153d4d20 fix: grpc resource delete error when qos enabled (#107560) 2025-07-03 12:02:05 +02:00
Peter Štibraný 041c343a86 Unified storage: Respect GF_DATABASE_URL override (#105331)
* Database for unified storage resources now reuses DB code that respects URL override.

Access instrument_queries via section getter.
2025-07-03 09:57:40 +00:00
Josh Hunt 9652f07e56 Storybook: Serve msw worker from relative path (#107561) 2025-07-03 10:51:11 +01:00
Dana Axinte f51db112d4 SecretsManager: Add decrypt service (#107473)
* SecretsManager: Add decrypt service

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* Missed space to sync files
2025-07-03 10:41:38 +01:00
Misi a7bfd8e351 Auth: Remove ssoSettingsApi feature toggle (#107528)
* Remove ssoSettingsApi feature toggle

* Clean up

* lint

* Fix tests
2025-07-03 10:53:33 +02:00
Peter Štibraný e076c74869 sqltemplate, dbimpl: Remove single-method function types (#107525)
* Remove dbProviderFunc function.

This removes one extra indirection that made the code bit more difficult to navigate.

* Remove indirection function types implementing single-method interfaces.

This streamlines the code and makes it bit easier to navigate.

* Update pkg/storage/unified/sql/sqltemplate/dialect_mysql.go

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>

---------

Co-authored-by: Mustafa Sencer Özcan <32759850+mustafasencer@users.noreply.github.com>
2025-07-03 10:38:12 +02:00
Arati R. a68f8107df Unified Storage/Large Object Support: Add test for dashboardv2 support (#107470)
* Add more unit tests to cover dashboardv2 and cross version unmarshalling

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

* Change import name of meta v1

* Rename TestLargeDashboardSupport since there are tests for multiple versions

* Simplify TestLargeDashboardSupportV2

* Use v1 in TestLargeDashboardSupportCrossVersion, simplify original dash

* Marshal spec in TestLargeDashboardSupportCrossVersion

* Remove TestLargeDashboardSupportCrossVersion

---------

Signed-off-by: Bruno Abrantes <bruno@brunoabrantes.com>
Co-authored-by: Bruno Abrantes <bruno@brunoabrantes.com>
2025-07-03 07:13:56 +02:00
Ryan McKinley acabe86153 APIServer: Exclude internal GroupVersionKind from openapi (#107551) 2025-07-02 19:32:01 -07:00
Alyssa (Bull) Joyner 41eb49ad03 [InfluxDB] Fix event tracking bug (#107548) 2025-07-02 16:38:01 -06:00
colin-stuart b6eacc929a Auth: Check SCIM dynamic settings when syncing users (#107487)
* Auth: Check SCIM dynamic settings when syncing users

* remove enterprise package import

* add CODEOWNERS

* lint

* use default namespace & update tests

* add optional dynamic AllowNonProvisionedUsers setting

* update test case with allowNonProvisionedUsers
2025-07-02 15:23:06 -05:00
Pepe Cano 61efc8b609 docs(alerting): clarify usage of different Alertmanagers and fix misleading details (#107498)
* docs(alerting): clarify usage of different Alertmanagers and fix misleading details

* address review changes
2025-07-02 21:46:29 +02:00
Alexander Akhmetov b483a04aec Alerting: Send merged configuration to the remote alertmanager (#107004) 2025-07-02 21:35:24 +02:00
Kevin Minehart d57155a19b CI: Support large build IDs in artifact builds (#107533)
* CI: Support large build IDs in artifact builds

* Use run_id instead of run_number in prerelease builds
2025-07-02 18:43:59 +00:00
Moustafa Baiou 11ea1dfba8 Alerting: Fix notification policy conflicts originating from provenance mismatch (#107343)
* Alerting: Fix notification policy conflicts originating from provenance mismatch

Sometimes the provenance field on the notification policy route can mismatch with the actual provenance in the provenance store.

This leads to 409s when trying to update the notification policy via the k8s apis.

We avoid this by ignoring the provenance field when calculating the fingerprint.

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>

* fix tests which validate stability

---------

Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
2025-07-02 17:26:27 +00:00
Andreas Christou d9a8253640 Azure: Update dashboards (#107481)
Update dashboard
2025-07-02 15:18:36 +01:00
Andreas Christou a01b1536f9 Graphite: Fix date mutation (#107414)
* Fix date mutation

- Add unit test
- Improve types

* Add invalid test and minor cleanup

* Review
2025-07-02 15:11:32 +01:00
Andreas Christou bae8d98a9f Graphite: Update dashboards (#107479) 2025-07-02 15:57:09 +02:00
Leon Sorokin 83396e2080 StateTimeline: Show error when Time type field has invalid values (#107491) 2025-07-02 08:51:20 -05:00
Alexander Zobnin 0e41f58db9 Zanzana: Add detailed instructions for running and instrumenting (#107237)
* Zanzana: Add detailed instructions for running and instrumenting

* Running Zanzana standalone server WIP

* Describe how to run zanzana server

* Fix readme link

* Update cli info

* update how to run postgres
2025-07-02 15:33:08 +02:00
Matheus Macabu f32d944b23 Secrets: Add initial tracing instrumentation (#107513) 2025-07-02 14:43:36 +02:00
Matheus Macabu b340b3fb7b Secrets: Add GetType for KeeperSpec and clean-up unused Envelope (#107511)
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-07-02 14:33:23 +02:00
Matheus Macabu 7614089077 Secrets: Only register dependencies to start up (#107504) 2025-07-02 14:02:52 +02:00
Georges Chaudy d55541735a unistore: use different ns for each test (#107509)
use different ns for each test
2025-07-02 13:50:30 +02:00
Georges Chaudy 696657bdd1 unistore: add kv based storage backend (#107305)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* unistore: add LastResourceVersion to datastore

* lint

* use map string

* missing err check

* fix

* Add storage backend

* remove hasmore

* fix tests

* small refactor

* pre-alloc

* extract the folder

* lint

* refactor

* handle context canceled in ListHistory to pass the tests

* fix the resource test

* unistore: provide generic tests for the kv interface (#107443)

unistore: move the kv tests to the testing package

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

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>

* address comments

* comments

* comments

* comments

* normalise the names and add helper method

* events comments

* rename function

---------

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2025-07-02 10:57:37 +00:00
Tobias Skarhed f0a5829eb7 Annotations: Don't run disabled queries (#107463)
* Bump version

* Bump to released version
2025-07-02 10:08:57 +00:00
Ivana Huckova 5cd3ad76ee Loki: Remove lokiQueryHints feature toggle (#106620)
* Loki: Remove lokiQueryHints feature toggle

* Remove unused imports

* Fix tests
2025-07-02 12:08:22 +02:00
Mustafa Sencer Özcan 3674d952a6 fix: use database section for resource server db engine configuration (#107495) 2025-07-02 09:00:51 +00:00
Dana Axinte 01c844b69f SecretsManager: Revert adding data key tracer (#107499)
Remove data key tracer
2025-07-02 09:09:12 +01:00
Hugo Häggmark bfd33467fb Tests: removes jest duplicate manual mock warning (#107459)
* Tests: removes jest duplicate manual mock warning

* Trigger build

* Trigger build
2025-07-02 09:25:25 +02:00
Mihai Doarna 8760d280f7 Docs: Fix links from supported providers in team sync page (#107468)
fix links from supported providers to team sync
2025-07-02 10:02:53 +03:00
grafana-pr-automation[bot] 76639ea958 I18n: Download translations from Crowdin (#107436)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-02 00:37:47 +00:00
alerting-team[bot] 68f68a5224 Alerting: Update alerting module to cea2d168394577afdb58105f79f47885febddf35 (#107484)
[create-pull-request] automated change

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
2025-07-02 01:32:14 +02:00
Leon Sorokin 79c39e7907 TimeSeries/Trend: Fix sparse points rendering heuristic (#107279) 2025-07-01 15:03:53 -05:00
Will Assis fe7ca61a51 unified-storage: Missing rename of index_server to search_server (#107469)
* rename
2025-07-01 14:35:46 -04:00
Yunwen Zheng fdf4935e42 Git sync create folder flow refactor to use new hook (#107422)
* Git sync create folder flow refactor to use new hook

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-07-01 12:19:48 -04:00
Ryan McKinley 8b9e57f2f6 OFREP: Enable with standard aggregation (#107349) 2025-07-01 09:17:36 -07:00
beejeebus 73e2ead04b Add checksums to SHA256 mismatch error message (#107461)
This should make it easier to debug this issue if we see it again.
2025-07-01 12:02:54 -04:00
Adela Almasan 1620f028b4 TableNG: Fix click events bubbling up (#107156) 2025-07-01 15:27:06 +00:00
Will Assis f09e85c048 unified-storage: Distributor rename to better reflect that it'll be used for search (#107409)
* rename distributor/ring references to "storage-api" to "search-server"
2025-07-01 11:15:10 -04:00
Kristina f460e02913 Transformations: GA the Regression transformation (#106074)
* First draft of removing flag, regenerating flags and content

* Add description to catalog entry

* fix gdev dashboard
2025-07-01 08:59:22 -05:00
Matias Chomicki da7b83c1bb ControlledLogRows: pass filter levels (#107448) 2025-07-01 14:19:25 +02:00
Jean-Philippe Quéméner 9a92900ef3 fix(unified-storage): remove 's' in config parameter (#107457) 2025-07-01 14:06:21 +02:00
Matheus Macabu d36225990e Server: Regenerate wire (#107451) 2025-07-01 13:52:28 +02:00
Jean-Philippe Quéméner d76e55371a fix(unified-storage): use the provided connection config parameters (#107455)
* fix(unified-storage): use the provided connection config parameters

* extend tests

* make update-workspace
2025-07-01 11:25:16 +00:00
Agnès Toulet 03fff523b1 Docs: Update render service tracing (#106698)
Co-authored-by: jtvdez <jacob.valdez@grafana.com>
2025-07-01 12:10:58 +02:00
Serge Zaitsev 406923f912 Chore: Commit wire_gen.go (#107410)
* commit wire_gen.go

* do not generate code in ci
2025-07-01 11:56:27 +02:00
Matias Chomicki 855f133d1e New Logs Panel: fix unwrapped logs display (#107391)
* LogLine: remove new lines in unwrapped mode

* Displayed fields: fix displayed fields when the body is included

* LogLine: prevent overflows from extremely long lines with incorrect width measurement

* Update tests

* virtualization: test calculateFieldDimensions

* getGridTemplateColumns: consider displayed fields to set the grid sizes

* LogList: hide overflowing fields in unwrapped mode

* processing: extract regex

* LogLine: improve hover and selected state

* virtualization: strip ansi color codes for measurement

* Update tests

* LogLine: improve log line pre-resize state

* Revert "LogLine: improve log line pre-resize state"

This reverts commit a6b4ddded5.

* LogLine: improve hover/active color
2025-07-01 09:55:26 +00:00
Mustafa Sencer Özcan 974a2c47f9 feat(unified-storage): add qos support for the resource server (#105939) 2025-07-01 09:22:55 +00:00
Ivana Huckova 71a4f20770 Zipkin: Decouple backend (#107312)
* Zipkin: Decouple backend

* Update

* Remove core import
2025-07-01 08:58:00 +00:00
Andres Martinez Gotor 2294620b2e Advisor: Include optional more info in failures (#107244) 2025-07-01 10:49:16 +02:00
Ivana Huckova 08f3cfbbf7 Jaeger: Decouple backend (#107310)
* Jaeger: Decouple backend

* Update

* Remove core import
2025-07-01 10:36:35 +02:00
Misi 2f8c1a3c48 Auth: Enable improved session handling by default for OAuth and SAML (#107442)
Enable improved session handling by default
2025-07-01 10:33:10 +02:00
Hugo Häggmark bd14061367 Plugin Extensions: adds source and id to mutation logs (#107385)
* Plugin Extensions: adds source and id to mutation logs

* chore: fix broken tests

* chore: updates after PR feedback
2025-07-01 09:58:44 +02:00
Dana Axinte b46e305cb2 SecureValues: Remove actor prefix from decrypters (#107433)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-07-01 08:40:26 +01:00
Konrad Lalik 3a38832ff6 Alerting: Fix group interval override when adding new rules (#107324)
* Fix group interval override when adding new rules to existing groups

* Fix lint errors

* Update tests snapshots

* Update tests snapshots

* Fix GrafanaGroupLoader
2025-07-01 09:11:17 +02:00
Hugo Häggmark 24138bde70 Plugin Extension: improves mutation logs (#107370)
* Plugin Extension: improves  mutation logs

* chore: removes feature toggle

* chore: rename function
2025-07-01 06:10:57 +02:00
Leon Sorokin 38e1f900e7 TableNG: Specialize cell root and cell content renderers (#107427) 2025-07-01 02:38:26 +00:00
Larissa Wandzura dec2df8379 Docs: Updated the Graphite data source docs (#105426)
* initial edits

* edits to config doc

* query editor updates

* ran prettier

* updates

* made more updates

* final edits

* ran prettier, updated some descriptions

* a few more quick edits

* one more definition
2025-06-30 21:37:49 +00:00
Dana Axinte d28594d2f9 SecretsManager: Limit of 24kiB for raw input for secure value (#107403)
* SecureValues: Add limit of 24kiB for raw input

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

* Fix lint

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-30 22:28:41 +01:00
Isabel Matwawana 0a90b7b5e9 Docs: Add Undo and redo to dynamic dashboards (#107206) 2025-06-30 14:43:45 -04:00
Isabel Matwawana 752105fcf9 Docs: Replace refs with full URLs in shared files (#107198) 2025-06-30 14:43:17 -04:00
Alex Spencer 3497c85593 ConvertFieldType: Handle undefined values in joinWith (#106712)
fix: escalation fix - groupBy with joinWith
2025-06-30 11:42:35 -07:00
Stephanie Hingtgen b1d3155b60 K8s: Library Panels: Add rerouting for get (#107362) 2025-06-30 13:26:24 -05:00
Kristina 6cc26233fd Transformations: Add better unique frame naming for regression analysis (#107057)
* Add better unique naming for regressions

* dont capitalize model type if polynomial

* 🙈
2025-06-30 11:29:01 -05:00
Dana Axinte 0fccc01ebe SecretsManager: add data key store (#107396)
* SecretsManager: Add data key store

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* SecretsManager: Add wiring of data key store

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

---------

Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-30 17:17:07 +01:00
Drew Slobodnjak 2d634639a2 Geomap: Render one marker at duplicate coordinates (#106962)
* Geomap: Render one marker at duplicate coordinates

* Take into account all dims for uniqueness

* Simplify marker uniqueness key
2025-06-30 09:06:16 -07:00
Serge Zaitsev 64e10eb95f Chore: Make builds a bit less verbose (#107393)
* make builds a bit less verbose

* retrigger
2025-06-30 17:35:45 +02:00
Torkel Ödegaard ceee0b9c12 UserAdmin: Inform about enterprise user features (#106632)
* UserAdmin: Inform about enterprise user features

* Update

* Update

* Update

* Update

* Update

* New design

* Update

* Update

* Update

* Update

* Update link

* fix import

* refactor to brand badge to component

* Update

* Update

* Update

* Update

* Update links
2025-06-30 17:23:11 +02:00
Gilles De Mey 5a8a04cb25 Enable remote write receiver by default for the prometheus devenv block (#107179) 2025-06-30 15:11:43 +00:00
Ivana Huckova bc425a7993 Loki: Remove experimental lokiQuerySplittingConfig (#107298)
* Loki: Remove experimental lokiQuerySplittingConfig

* Remove unused imports
2025-06-30 16:41:00 +02:00
Isabel Matwawana 12d7b804eb Docs: Fix graph styles and axis options content (#107008)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-06-30 10:40:13 -04:00
Serge Zaitsev 1ce82abfa3 Chore: Prepare Wire to generate files that can be committed to the repo (#107382)
* add generated tags to wire

* add enterprise wire gen target to makefile

* make gen-go invoke enterprise

* change go:generate command

* handle empty genTags properly

* update golden files for wire

* use build tag for swagger generator

* fix comments
2025-06-30 16:39:21 +02:00
Jo 86543e0f91 Access: Disable role none option if advanced access control is not enabled (#107378)
* disable role none option if advanced access control is not enabled

* filter out None instead

* fix lint
2025-06-30 16:35:17 +02:00
Gilles De Mey a7ff16bbbe Storybook: Bypass unmatched msw requests (#107395) 2025-06-30 14:29:14 +00:00
ismail simsek c1a5e6bbf1 Prometheus: Preserve custom variables as function parameters after parsing the expression (#106661)
* preserve custom variables as function parameters after parsing the expression

* replaced variable check
2025-06-30 14:24:06 +00:00
Ivana Huckova dd5c545df9 Loki: Remove lokiStructuredMetadata feature toggle (#107292)
Loki: Remove lokiStructuredMetadata feature toggle
2025-06-30 16:09:44 +02:00
Ivana Huckova cc542f2b91 Loki: Remove experimental predefined operations (#107289)
* Loki: Remove experimental predefined operations

* Fix lint
2025-06-30 16:08:36 +02:00
Ivana Huckova 7f2aed42a0 Plugins: Fix and encode invalid gRPC header values (#107339)
* Plugins: Fix and encode invalid gRPC header values

* Rename the method

* Run sanitizeHTTPHeaderValueForGRPC only if string includes utf8

* Update test

* Simplify

* Update

* do not double encode encoded characters

* Update test

* Update

* Add test case based on review

* Update test
2025-06-30 15:58:05 +02:00
Georges Chaudy 46094a16c7 unistore: add LastResourceVersion to the datastore (#107303)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* unistore: add LastResourceVersion to datastore

* lint

* use map string

* missing err check

* fix
2025-06-30 15:49:26 +02:00
maicon 55e29d4405 Unistore: Reenable integration tests (#107340)
* Unistore: Reenable integration tests

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-30 10:32:12 -03:00
Will Assis 7aad041f70 unified-storage: Add integration tests for distributor (#105771)
* Add integration tests for distributor
2025-06-30 09:31:58 -04:00
Leon Sorokin 99782ae406 TableNG: Refactor to better take advantage of react-data-grid (#103755) 2025-06-30 07:18:23 -05:00
Jo 7940da4803 Fix organization deletion error messages (#107380)
* Fix organization deletion error messages

- Improve error message clarity when attempting to delete active organization
- Fix incorrect 'Failed to update organization' message to 'Failed to delete organization'
- Update comment to be more precise about the check being performed

Fixes #92792

* Improve error handling in organization deletion service

- Add contextual error message when dashboard deletion fails during org deletion
- Include organization ID in error message for better debugging
- Import fmt package for error formatting

This helps administrators understand which specific organization failed
during the deletion process when dashboard cleanup encounters issues.

* Fix typo in unified resource access error message

Change 'Namespace missmatch' to 'Namespace mismatch' for correct spelling.
2025-06-30 13:58:37 +02:00
Jean-Philippe Quéméner 7ebea688ef fix(unified-storage): return empty list instead of nil (#107384) 2025-06-30 13:53:58 +02:00
Steve Simpson 4d4fe4ad20 Library Elements: Fix side effects between integration tests (#107383) 2025-06-30 11:18:19 +00:00
alifeee a4e3f16ff7 change grafana-server to grafana server (#107131) 2025-06-30 10:58:35 +00:00
Matheus Macabu 22fbcae11b Dependencies: Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#107379) 2025-06-30 11:56:31 +02:00
ismail simsek bacad12b2a Prometheus: Fix populating label names in sum operation on query builder (#107376)
fix populating label names
2025-06-30 11:47:43 +02:00
Georges Chaudy 4a272fb61b unistore: add eventstore and notifier (#107182)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add eventstore

* golint

* lint

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* add key validation

* fix tests

* refactor a bit

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate

* update test

* lint

* missing err check

* address comments

* increase the timeout
2025-06-30 11:20:57 +02:00
Alexander Zobnin 57c59cf3cb Zanzana: Fix setting override with env variable (#107306) 2025-06-30 10:24:45 +02:00
Pepe Cano f5b79fca55 docs(alerting): performance considerations minor clarifications (#107333) 2025-06-30 07:42:26 +00:00
Mariell Hoversholm a4b066d6cf Actions: Detect code changes (#107326) 2025-06-30 08:56:56 +02:00
Hugo Häggmark 15293a2ceb Plugins: Adds AppChrome extension point (#106623)
* Plugins: adds basic PopupExtension point

* Simplify the extension point.

* Excluding the app chrome extension to be rendered on login/signup pages.

* Added feature toggle to be able to disable the app chrome extensions.

* Adding an error boundary around the extension point.

* Changed the way we use the feature toggle.

* moved to use the helper function instead of filtering.

* removed duplace info.

* chore: remove leftover useMemo

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2025-06-30 06:32:08 +02:00
Hugo Häggmark 470f3c1578 Plugin Extensions: Mutable props for extension components (#107290)
* Plugin Extensions: Mutable props for extension components

* chore: updates after PR feedback
2025-06-30 05:54:12 +02:00
Serge Zaitsev f66a693438 Chore: Rename integration tests to follow the common convention (#105987)
* automatically rename integration tests to follow the common convention

* name tests differently

* alter column type to bigint

* update another column to bigint

* add another alter

* fix subquery for mysql
2025-06-29 16:56:24 +02:00
grafana-pr-automation[bot] 4374fe9137 I18n: Download translations from Crowdin (#107359)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-28 00:37:27 +00:00
Stephanie Hingtgen 5cdc19403a Grafana live: Remove experimental language around redis (#107217) 2025-06-27 16:40:13 -07:00
Ryan McKinley 0dd9417aa9 Chore: Organize go.mod (#107355) 2025-06-27 17:31:03 -06:00
Ryan McKinley 8685cdcee6 Chore: update feature toggle stats from git (#107352) 2025-06-27 17:30:49 -06:00
Alexander Akhmetov f4b0e793aa Alerting: Document label sanitization in GRAFANA_ALERTS (#107285)
* Alerting: Document label sanitization in GRAFANA_ALERTS
2025-06-27 23:33:42 +02:00
Pepe Cano 2f1a6ae171 docs(alerting): Add Detect missing series in Prometheus section to the MissingData guide (#107329) 2025-06-27 21:13:13 +02:00
Zoltán Bedi 9273c603b3 Cloud Monitoring: Add support for service account impersonation (#107022) 2025-06-27 17:31:34 +00:00
Will Assis 930c9b3beb fix: double registration panic in auth fallback (#107330)
fix double registration panic in auth fallback
2025-06-27 19:22:16 +02:00
Andreas Christou c48a1aba40 Azure: Support scope selection in Resource Graph queries (#105835)
* Add scope type

* Add scope selector field

* Update docs

* Use the right field component

* Trigger build

* Fix import and increase wait

* i8n
2025-06-27 18:08:55 +01:00
Tania 67a952c34e Implement OFREP compatible feature flag service (#105632)
* Add ofrep pkg

* api server: Use namespace from request in case user is not authenticated

* Add handlers to ofrep api builder

* Add NewOpenFeatureService to initialize mt apiserver

* allow specifying CA and insecure

* Compare namespace with eval ctx stackID

* Organize ofrep package

* Implement AllowedV0Alpha1Resources

* Revert folderimpl changes

* Handle default namespace

* Fix extracting stack id from eval ctx

* Add more logs

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* Update pkg/registry/apis/ofrep/register.go

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>

* Apply review feedback

* Replace contexthandler with types

* Fix identifying authed request

* Refactor checks in the handlers

* Remove anonymous from isAuthenticatedRequest check

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
Co-authored-by: Charandas Batra <charandas.batra@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-06-27 18:30:38 +02:00
Ivan Ortega Alba 45dabd2862 ApiServerClient: Avoid special characters in generateName (#107331) 2025-06-27 16:24:13 +00:00
linoman dbef739814 SCIM: Update authentication features table (#107299)
* Update authentication features table
2025-06-27 16:58:29 +02:00
Peter Štibraný 4f34a57ce2 Don't use prometheus.DefaultRegisterer in annotationsimpl/loki. (#107311)
* Don't use prometheus.DefaultRegisterer in annotationsimpl/loki.
2025-06-27 16:22:28 +02:00
Peter Štibraný 6f3b619f59 Remove use of prometheus.DefaultRegisterer from ProvideUnifiedStorageGrpcService. (#107315) 2025-06-27 15:58:00 +02:00
Peter Štibraný cacb9b8eaf Clean up metrics usage in dual writer syncer (#107309)
Create DualWriterMetrics once, and pass them around. Don't use prometheus.DefaultRegisterer.
2025-06-27 15:48:44 +02:00
Will Browne 43d369b51a Plugins Remove failWrongDSUID feature toggle (#107308)
* remove failWrongDSUID FT

* undo go.mod changes
2025-06-27 14:43:58 +01:00
Paul Marbach ee6cbd0efc BarChart/StateTimeline: Use noValue setting for error message when data is empty (#107147)
* fix: use fieldConfig.defaults.noValue in barchart and statetimeline

* change name of test

* remove todo comment

* lean on PanelDataErrorView in the case where no fields are present

* update StateTimeline and StatusHistory to use PanelDataErrorView

* fix test

* self-review cleanup
2025-06-27 08:28:13 -05:00
Ivana Huckova f7eab21f9f Loki: Decouple data source plugin (#107242)
* WIP

* Update yarn.lock

* Align uuid dependency

* Add e2e test and update

* Update cue version

* Fix lint

* Update snapshot test

* Fix test that was importing from coupled module

* Fix lint

* Update public/app/plugins/datasource/loki/package.json

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-06-27 15:09:45 +02:00
Will Assis f4ee58db50 unified-storage: split resource index client (#106297)
* split resource server and index server grpc connection if defined in config
2025-06-27 08:15:52 -04:00
Arati R. 0982cfd9a0 Unified Storage/Search: Add max count config for indexing (#107255)
* Add max count config for indexing
* Build empty index when max count is exceeded
* Address linting
* Refactor buildIndexes
* Add test for max count threshold
* Update test doc comments
* Refactor TestBuildIndexes_MaxCountThreshold to not use mock framework
* Rename mocks used in TestBuildIndexes_MaxCountThreshold

* Refactor mockResourceIndex

* Test setting of indexing threshold configs

* Tweak comments, log

* Fix logging in buildEmptyIndex

* Export and reuse TestDocumentBuilderSupplier

* Reuse MockResourceIndex
2025-06-27 14:00:39 +02:00
Will Browne 3020794b60 Plugins: Remove angularDeprecationUI feature toggle (#107300)
* remove angularDeprecationUI FT

* undo go.mod changes
2025-06-27 12:02:00 +01:00
alerting-team[bot] a6b202e2bb Alerting: Update alerting module to dc5663fe02aa79ea08bb78aeabfb356855408844 (#107297)
* [create-pull-request] automated change

* Update prometheus-alertmanager

---------

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-27 12:23:57 +02:00
Hasith De Alwis 976746c05b PostgreSQL: Fix error on panel when toggling sqlDatasourceDatabaseSelection feature (#106965)
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-06-27 10:08:12 +00:00
Gareth 643dee6739 Prometheus: Refactoring in datasource.ts (#107208)
* start cleanup

* update vars

* prettier
2025-06-27 11:00:25 +01:00
Georges Chaudy b2aaa9b3ce kvstore: ensure we return notFound on delete (#107288)
* kvstore: ensure we return notFound on delete

* fix tests
2025-06-27 12:00:03 +02:00
Torkel Ödegaard f1a22a8ea9 Enterprise: Links that inform about enterprise auth options (#106627)
* Enterprise: Links that inform about enterprise auth options

* Update

* fix¨

* Update links

* brand color badge

* update language

* Update

* Update
2025-06-27 11:40:03 +02:00
linoman 0e89fec173 SCIM: Move feature flag to public preview (#107239)
* Move feature flag to public preview

* Auto-generate changes
2025-06-27 11:30:33 +02:00
Peter Štibraný 2e9559a376 Include resource name in the event. (#107185) 2025-06-27 09:29:49 +00:00
Georges Chaudy 53ec379af8 unistore: add metadata store (#107151)
* Add datastore

* too many slashes

* lint

* add metadata store

* simplify meta

* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey

* readcloser

* remove get prefix

* use dedicated keys

* parsekey

* sameresource

* unrelated

* name

* renmae tests

* fix tests

* lint

* allow empty ns

* get keys instead of list

* rename the functions

* refactor yield candidate
2025-06-27 08:25:27 +00:00
Stephanie Hingtgen bc231922af Library panels: Remove libraryPanelRBAC feature flag, and enable rbac by default (#107222) 2025-06-27 08:09:02 +00:00
Konrad Lalik 3cd29d2cdd Alerting: Improve simplified routing test (#107251)
Improve SimplifiedRuleEditor test performance
2025-06-27 09:56:42 +02:00
Alex Khomenko ecb93ed7f7 Restore dashboards: Add filters and search (#106994)
* Restore dashboards: Enable search and filtering

* Remove sorting

* Configurable sort

* Move cache to a separate file

* Get tags

* Reset cache on delete

* Use store

* Add sort

* Use fuzzyFind for search

* Move fuzzy search to grafana/data

* Move @leeoniya/ufuzzy package

* Use the new util

* Improve sort

* Error handling
2025-06-27 08:59:10 +03:00
Adam Yeats 30e72ca774 InfluxDB: Config Page v2 - Update link for feedback form (#107273)
Update link for feedback form
2025-06-26 19:41:33 +00:00
Alyssa (Bull) Joyner 907e3efa55 InfluxDB: Add tracking events to v1 config page (#105911)
* Add tracking events to orginial influxdb config page

* Add tracking file

* Lint

* Remove unused import
2025-06-26 19:37:15 +00:00
Paul Marbach c5c8c0e491 Revert "ToolTip: Fix flexbox bug with tooltip when maxWidth is set manually (#107145)"
This reverts commit cff743fcd5.
2025-06-26 15:34:47 -04:00
Pepe Cano ff4d7d35c6 docs(alerting): add new guidelines to the missing data alerting guide (#107232) 2025-06-26 21:06:34 +02:00
Kevin Minehart 01c3f99e4a CI: Unconditionally dispatch to GE (#107271)
* CI: Unconditionally dispatch to GE

* only do release-build in the grafana repo
2025-06-26 18:28:42 +00:00
Ivan Ortega Alba 07f5a72842 Dashboard Migrations: V33 Replace string-based datasource by datasource ref (#106848)
---------
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-26 19:04:43 +02:00
Kevin Minehart 37be24899c CI: Prevent dispatch loop for building release artifacts (#107269) 2025-06-26 17:04:18 +00:00
ismail simsek de0ce87fd4 Prometheus: Apply limit to metadata request (#107068)
* use limit when calling metadata endpoint

* request metadata with limit

* betterer
2025-06-26 17:04:04 +00:00
Will Assis dc79e6f3dc unified-storage: fix auth handling in distributor (#106062)
* disable auth handling in the distributor
2025-06-26 12:32:59 -04:00
Isabel Matwawana 7d28f7eece Update CODEOWNERS for shared dashboards docs (#107266) 2025-06-26 16:17:36 +00:00
Eric Leijonmarck 0aefd99cff LBAC for data sources: Update feature states (#107260)
update feature states
2025-06-26 17:09:26 +01:00
Mustafa Sencer Özcan c47fc53eee fix: set withHistory flag to true for non-interactive mode (#107263) 2025-06-26 16:08:30 +00:00
Michael Mandrus 3ec907bbe6 CloudMigrations: Add warnings for bugs with HA setups (#107265)
add warnings for HA bug
2025-06-26 12:03:50 -04:00
Mihai Turdean 918c93ee4e Fix Zanzana Error "user field is malformed" (#107227)
Fix Authentication: Add UID field to Identity in render service
2025-06-26 09:14:44 -06:00
Kevin Minehart dd2ba2e816 CI: Add GOCACHEPROG to the backend builder if GOCACHEPROG is set on the host (#107256) 2025-06-26 14:16:58 +00:00
Burkov Egor bca70ee809 Loki: Fix health check message (#107170)
Loki: fix typo in healthcheck message

Co-authored-by: ivanahuckova <ivana.huckova@gmail.com>
2025-06-26 16:10:21 +02:00
Nathan Vērzemnieks a18ea34688 CloudWatch: Backport aws-sdk-go-v2 update from external plugin (#107136)
* CloudWatch: Backport aws-sdk-go-v2 update from external plugin

* Review feedback & cleaning up a couple typos
2025-06-26 15:56:50 +02:00
Mitch Seaman 069598c454 [Docs] Panel embedding not available in Cloud (#107253) 2025-06-26 13:51:43 +00:00
Andreas Christou 58a47ef1d6 Azure: Fix duplicated trace links (#105698)
* Add trace links to first field

* Review
2025-06-26 14:10:19 +01:00
Pepe Cano 5c1b263664 docs(alerting): simplify Intro to Grafana Alerting docs (#106944)
* docs(alerting): improve `Intro > Alert rule evaluation` docs

* Update Introduction to Grafana Alerting

* Simplify `Intro > Alert rules` and related docs

* minor copy change phrasing GMA and DS differences

* fix vale error
2025-06-26 12:25:32 +00:00
Stephanie Hingtgen f8189eece9 Dashboard Imports: Fix creating new library panels (#107219) 2025-06-26 05:23:05 -06:00
renovate[bot] 88d113f37c Update scenes to v6.25.0 (#107238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 14:19:21 +03:00
Alexander Akhmetov b93cde0adb Alerting: Use default identifier for extra configs in Alertmanager API (#107049) 2025-06-26 12:44:49 +02:00
Alexander Akhmetov abbae41f60 Alerting: Sanitize Prometheus state history labels before writing (#107181) 2025-06-26 12:40:37 +02:00
Alexander Akhmetov 894944dcb0 Alerting: Refactor remote alertmanager to use Crypto interface (#107228) 2025-06-26 12:39:06 +02:00
Victor Marin 8a0c484b74 DataSourceAPI: Expose new method for filter applicability check (#106756)
* wip

* wip non applicalbe filters

* refactor getApplicableFilter to return a string[]

* remove getApplicableFilters impl from prometheus
2025-06-26 13:26:11 +03:00
Ida Štambuk 2e9c4a76c4 Prometheus: Migrate remaining selectors to data-testid (#106564) 2025-06-26 10:22:42 +00:00
Georges Chaudy 2297417374 Unistore: Add datastore (#107137)
* Add datastore

* too many slashes

* lint

* pr comments

* extract ParseKey
2025-06-26 10:36:31 +02:00
Gabriel MABILLE 3d543a336f IAM: Register CoreRole apis (#106924)
* IAM: Register CoreRole apis

* one line store instantiation

* Small refactor for readability

* Add authorizer for CoreRole

* Nit

* Error strings should not end with punctiation

* Account for error

* Switch to use the local resource client

* error should not start with upper casing

* noopStorageErr should have a name starting with err

* Update workspace

* I don't know why I don't have the same output as the CI 🤷

* Dependency xOwnership

* imports

* Import order

* Rename alias to make it clear this is legacy
2025-06-26 10:11:28 +02:00
Matheus Macabu 6f8e33f360 GHA: Increase size of Ephemeral Instances runner (#107230) 2025-06-26 09:41:37 +02:00
Yulia Shanyrova 4e8802afff Plugins: Add repositoryUrl parameter to plugin details panel. (#107048)
add repositoryUrl parameter to plugin details
2025-06-26 08:59:46 +02:00
Torkel Ödegaard 2869590292 Scenes: Upgrade to 6.24 (#107196) 2025-06-26 08:06:09 +02:00
grafana-pr-automation[bot] e5d73b0ca4 I18n: Download translations from Crowdin (#107224)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-26 00:38:14 +00:00
ismail simsek 0b5d1a0e51 Prometheus: Fix adding metric name to matcher (#107214)
check metric name before pushing
2025-06-26 02:16:07 +02:00
Cory Forseth 41a4841e57 Zanzana: add flag for running zanzana server insecurely (#107130)
* add flag for running zanzana server insecurely

* Only allow insecure connections in dev environment

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-06-25 22:47:53 +00:00
Stephanie Hingtgen 79fe8a9902 Library Panels: Modify connection api endpoint to be compatible with unified storage (#107088) 2025-06-25 22:21:56 +00:00
Stephanie Hingtgen 3687767709 Workspace: Fix go workspace (#107221) 2025-06-25 21:59:45 +00:00
Andreas Christou 8288e947a8 InfluxDB: Add an optional time range filter for tag queries in the query panel autocompleteInflux tag filter (#107195)
* InfluxDB: Add an optional time range filter for tag queries in the query panel autocomplete

* Betterer updates

* Update test

---------

Co-authored-by: Nikolay Tsvetkov <nikolay.cvetkov@gmail.com>
2025-06-25 21:37:02 +00:00
Kevin Minehart 8be4fc6e9b CI: Provide token when dispatching downstream workflow (#107215) 2025-06-25 20:21:48 +00:00
Kevin Minehart 9f6e0070f1 CI: Ensure that build-id is treated as a string in release-build.yml (#107213)
Ensure that build-id is treated as a string
2025-06-25 14:49:44 -05:00
Ezequiel Victorero d6a8470e67 Query Library: Promote query library to private preview (#107211) 2025-06-25 16:10:51 -03:00
Ezequiel Victorero 094d78c2dd Query Service: Remove unused files (#107190) 2025-06-25 14:36:09 -03:00
Joey 1f7cfda03c Tempo: Properly escape double quotes in TraceQL query (#106909)
* Properly escape double quotes

* Simplify regex
2025-06-25 17:59:35 +01:00
Adam Yeats 3503fc209e InfluxDB: Config page refresh (#103060) 2025-06-25 10:39:54 -06:00
Jacob Valdez 35f89a456c Docs: Fixing broken links in migration assistant docs (#107191)
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-06-25 10:16:47 -05:00
Yunwen Zheng d3bd3175af ProvisionedFolder: Delete folder drawer (#107089)
* ProvisionedFolder: delete flow set up

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-06-25 11:13:42 -04:00
Kevin Minehart 51629f6d44 CI: Remove concurrency from release-build.yml (#107192)
* CI: Remove concurrency from release-build.yml

* CI: Remove concurrency from release-build.yml

* remove artifacts-list publish because it is already being published
2025-06-25 15:05:42 +00:00
Nathan Marrs 5abc5997ae Feature Toggles: Update ownership of feature toggles related to features being handed off to operator experience from sharing (#107162) 2025-06-25 14:57:09 +00:00
Konrad Lalik ea1d3cc3ba Alerting: List V2 - Add labels popup (#107193)
* Display labels popup when hovering over labels count

* Remove unused imports
2025-06-25 16:24:32 +02:00
Levente Balogh 2bcc1d86fc PluginExtensions: fix setJsonData() race condition in EditDataSource extension point (#107102)
* fix: EditDataSource extension point - setJsonData()

* fix(EditDatasource): make it possible to call `setSecureJsonData()` first
2025-06-25 16:02:35 +02:00
Gilles De Mey 4400c370eb Alerting: Fix package types reference (#107183) 2025-06-25 13:50:49 +00:00
Ashley Harrison 1f97c0db8c Internationalisation: Use new shared verify-i18n workflow (#106928)
* use new shared verify-i18n workflow

* update CODEOWNERS

* add empty permissions block

* fix permissions

* commit translations

* rename workflow
2025-06-25 14:47:10 +01:00
Kevin Minehart bbce735793 CI: Set service-account on 'push-to-gcs' as well as login (#107184)
* Set service-account on 'push-to-gcs' as well as login

* Update publish-artifact.yml
2025-06-25 13:25:24 +00:00
Alex Khomenko 38cc0e25c4 Provisioning: Improve job error handling (#107174) 2025-06-25 16:22:23 +03:00
Mariell Hoversholm b85b2b157d Actions(swagger-gen): Don't clone Enterprise on forks (#107177) 2025-06-25 14:11:34 +02:00
Ivana Huckova 4738957360 Querying: Pass dashboard and panel title as headers (#107032)
* WIP dashboard titile

* Add tests

* Fix tests

* Fix tests

* Remove redundant imports
2025-06-25 13:51:23 +02:00
Alex Khomenko 3d1b820827 Grafana/data: Extract fuzzy search core (#107110)
* Move fuzzy search to grafana/data

* Move @leeoniya/ufuzzy package

* Cleanup

* Use exact version

* mark export as internal
2025-06-25 14:28:23 +03:00
Jack Westbrook 24884154dc Plugin Configs: Update webpack config (#107133)
feat(plugin-configs): use dynamic publicPath with decoupled plugins for cdn support
2025-06-25 13:00:54 +02:00
Gilles De Mey 092249b772 Alerting: Storybook integration (#107024) 2025-06-25 12:59:07 +02:00
Andres Martinez Gotor 0356e1302a Advisor: improve code readability (#107175) 2025-06-25 10:48:36 +00:00
Andrey Karpov a7152174b6 ServiceAccounts: return 404 when deleting a non‑existent service account (#106618)
ServiceAccounts: return `404` when deleting a non‑existent service account
2025-06-25 11:20:10 +01:00
Andres Martinez Gotor c5a6bb5ab1 Advisor: Address error logs (#107125) 2025-06-25 12:08:30 +02:00
Roberto Jiménez Sánchez f621e2f507 Provisioning: Bump Nanogit version to include revelant bug fixes (#107172)
Bump Nanogit
This version includes multiple fixes:
- Properly parsing side-band errors.
- Handle multiple matches in GetRef .
- Properly sort tree entries with folders based on git specification.
2025-06-25 12:38:50 +03:00
Jack Westbrook ff81910776 CI: fix levitate nvmrc paths (#107173)
* ci(levitate): fix nvmrc paths

* ci(levitate): trigger runs when the workflow or nvmrc files change
2025-06-25 09:34:49 +00:00
Ashley Harrison 2837f8fb58 internationalisation: Mark up canvas panel edit options (#107118)
mark up canvas panel
2025-06-25 10:06:37 +01:00
grafana-pr-automation[bot] d872a74d1c I18n: Download translations from Crowdin (#107160)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-25 09:54:27 +01:00
Jack Westbrook 8179c87ebe CI: Use nvmrc in all github workflows (#107164)
feat(gh-workflows): use nvmrc file as single source of truth for projects node version
2025-06-25 10:41:16 +02:00
Domas 6e28464981 Prometheus: Reinstate variable interpolation for getTagKeys() and getTagValues() (#107171)
add interpolation to prom getTagKeys() and getTagValues()
2025-06-25 11:36:36 +03:00
Gábor Farkas 4e19bc515e Chore: bump grafana-plugin-sdk-go from v0.277.0 to v0.278.0 (#107165)
Chore: bump grafana-plugin-sdk-go
2025-06-25 10:16:14 +02:00
Peter Štibraný eeb01126b3 grpc: wrapContext should not replace existing metadata, but append to it. (#107126)
* grpc: wrapContext should not replace existing metadata, but append to it.

* Add test for wrapContext if there's no previous metadata.

* Rename encodeIdentityInMetadata to encodeIdentityInMetadataPairs
2025-06-25 08:06:45 +00:00
Torkel Ödegaard c63a52958d RowsLayout: Rethinking row repeats (#104312)
* Something is working

* Update

* Update

* working

* clear repeated rows

* Update

* Update

* Outline via function

* Update

* Update

* Update

* Progress

* Update

* Udpate sum

* Update

* Update public/app/features/dashboard-scene/scene/types/EditableDashboardElement.ts

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/edit-pane/DashboardOutline.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-auto-grid/AutoGridLayoutManager.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-default/DefaultGridLayoutManager.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManagerRenderer.tsx

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>

* Update

* more tests

* Update

* Update

* Removed old behavior

* Update

* Update

* Update

* fix outline for default grid

* Update

---------

Co-authored-by: kay delaney <45561153+kaydelaney@users.noreply.github.com>
2025-06-25 10:02:42 +02:00
Torkel Ödegaard 249be02010 Plugins: Improve the info box for enterprise plugins (#106630)
* Refine the enterprise plugin info box

* Update wording

* Update

* Remove white space before punctuation

* Update

* fix test

* Update
2025-06-25 09:48:30 +02:00
Ryan McKinley 580b410e8c DualWriter: Minor cleanup (#107028) 2025-06-25 07:41:51 +00:00
Alex Khomenko e0eff97d94 Browse Dashboards: Reset cache when folder is changed during import (#107116)
* Browse Dashboards: Reset cache when folder is changed during import

* Fetch dashboard data

* Do not invalidate tags

* Handle fetch error
2025-06-25 10:27:31 +03:00
Mustafa Sencer Özcan e7af803906 fix: migration cli exit on grpc errors when on non-interactive (#107163) 2025-06-25 08:50:53 +02:00
Sven Grossmann 478c1debe0 Plugin Loader: Wait for plugins to register their extensions (#106969)
* fix: mark apps as preloaded after being preloaded

* move marking as preloaded into `preload`

* add tests

* refactor: make it reuse promises of already loaded plugins

* fix: review notes

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2025-06-25 06:49:25 +00:00
Mariell Hoversholm 694a58372e Config: Fix docs typo'd section name (#106982) 2025-06-25 08:04:32 +02:00
Kevin Minehart 9c7a2d1b88 CI: add service-account input to publish artifact workflow (#107154)
add service-account input to publish artifact
2025-06-24 21:14:33 +00:00
maicon 8a05378ef3 apiserver/folders: use exact match on GetFolderByTitle in legacy (#106867)
* apiserver/folders: use exact match on GetFolderByTitle in legacy

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


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-24 17:42:08 -03:00
Kevin Minehart 988d889ba7 CI: Don't cancel in-progress release builds (#107153)
Don't cancel in-progress release builds
2025-06-24 22:39:33 +02:00
Adela Almasan 182bff2555 StateTimeline: Add endTime to tooltip (#106582) 2025-06-24 19:57:46 +00:00
Georges Chaudy 5150ebfba8 unistore: index search references (#106954) 2025-06-24 14:54:07 -05:00
Mustafa Sencer Özcan 74ce09011e fix: migration cli pass in feature toggle management into unified client (#107141) 2025-06-24 21:43:43 +02:00
Kevin Minehart 8f1f447763 CI: use main, not my branch in release-build.yml (#107149)
use main, not my branch
2025-06-24 19:22:13 +00:00
Kevin Minehart c15c7b1fbf CI: Add publish-artifact workflow (#107138)
* dispatch GE release build when this one is triggered

* Add publish-artifact workflow

* workflow_call is its own job

* add needs section in publish

* fix workflow reference

* fix permissions

* Use pattern arg instead of name

* fix artifacts path

* log in to docker hub in build job

* remove duplicate key

* bucket_path -> bucket-path

* remove 'parent' input

* PATH -> ARTIFACT_PATH

* use find instead of rsync

* set min/maxdepth

* use cp -r

* Add publish-artifact.yml to CODEOWNERS

* refer to the workflow on main specifically
2025-06-24 18:18:36 +00:00
Jesse David Peterson cff743fcd5 ToolTip: Fix flexbox bug with tooltip when maxWidth is set manually (#107145)
Fix flexbox bug with tooltip when maxWidth is set manually.

fix for #105517

Co-authored-by: Jason <jdmarshall@users.noreply.github.com>
2025-06-24 14:08:27 -04:00
Matt Clegg c80fe53620 Update _index.md (#105123)
* Update _index.md

FIX `other fields below`.

* Update _index.md

arranging entries to reflect their positioning in defaults.ini

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-24 18:38:37 +01:00
Josh Hunt 498ab849e4 Cue: Add 'Join' variable format (#107129)
Add Join variable format
2025-06-24 18:13:46 +01:00
Alexander Akhmetov 478f9bf597 Alerting: Emit metrics from prometheus state history backend (#107121)
Alerting: Emit metrics from prometheus historian backend
2025-06-24 18:27:52 +02:00
renovate[bot] 2578c7cdc7 Update dependency @hello-pangea/dnd to v18 (#107120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 17:23:58 +01:00
Jesse David Peterson dcfb079856 StateTimeline: Display false and empty string values (#107059)
* Support boolean false value mappings

* Support empty string value mapping
2025-06-24 12:07:13 -04:00
Georges Chaudy 53cb80e58c Unistore: save should use a Reader not ReadCloser (#107128)
* save should use a Reader not ReadCloser

* save should use a Reader not ReadCloser
2025-06-24 15:37:22 +00:00
Alexander Akhmetov 8d9dec6979 Alerting: Do not auto-populate target datasource if it's not selectable (#106912) 2025-06-24 16:41:26 +02:00
Andreas Christou 2afcb0e95b Data Sources: Fix namespace (#107124)
Fix namespace
2025-06-24 15:40:27 +01:00
Mihai Turdean 46363d305b Repo: Add .devcontainer/ folder to .gitignore (#106951)
Update .gitignore to ignore the .devcontainer/ folder
2025-06-24 14:39:58 +00:00
Jo 06278615fb Fix: Increase login_attempt.ip_address column length for IPv6 support (#107035)
* fix: increase login_attempt.ip_address column length for IPv6 support

- Expand ip_address column from VARCHAR(30) to VARCHAR(50) to accommodate IPv6 addresses
- Add database migration with support for PostgreSQL, MySQL, and SQLite
- Add comprehensive integration tests for various IPv6 address formats
- Resolves 500 errors when login fails over IPv6, now returns proper 401 errors

Fixes #106362

* test: add missing test skip to TestIntegrationIPv6AddressSupport

Skip integration test when running with -short flag to separate unit and integration tests

* Update pkg/services/sqlstore/migrations/login_attempt_mig.go

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

* fix missing bracket

* fix: resolve PostgreSQL timestamp overflow in IPv6 test

- Use controlled time mock instead of time.Now() to avoid timestamp conversion issues
- Follow existing test patterns with xormStore and mock time functions
- Add proper Since parameter to GetIPLoginAttemptCount query
- Fixes PostgreSQL error: 'pq: value "-62135596800" is out of range for type integer'

* fix: resolve PostgreSQL UTF-8 encoding error in IPv6 test

Replace string(rune(i)) with fmt.Sprintf to avoid null bytes (0x00)
when i=0, which caused 'invalid byte sequence for encoding UTF8' error

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
2025-06-24 16:11:45 +02:00
Jack Baldry 10b6dd97f8 Allow the docs plugin to use the sidebar (#106905) 2025-06-24 15:10:28 +01:00
Georges Chaudy 27a5bab1c1 unistore: Add kvstore interface (#107094)
* Add kvstore interface

* add owner

* go lint

* remove comment

* update comment

* remove GetOptions

* add sortorder unspecified

* nit

* nit

* nit

* move txn

* use io.reader

* use io.reader

* change again the default order + comments

* change again the default order + comments

* use readcloser for Save
2025-06-24 15:50:57 +02:00
renovate[bot] fdc93be129 Update Yarn to v4.9.2 (#107104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 14:47:42 +01:00
Josh Hunt 8502e1f2ce CI: Fix pa11y check by running in docker-puppeteer image (#107084)
* Change pa11y dagger to run in docker-puppeteer image

* export json results

* re-enable pa11y ci check

* update gha workflow to new flags

* add no-threshold-fail, use single pa11y config

* fix codeowners

* readme

* fix drone config
2025-06-24 14:40:37 +01:00
Isabel Matwawana e2438f338b Docs: Reporting redesign docs (#105078) 2025-06-24 13:38:50 +00:00
Paul Marbach a39a354ff5 fix: percentage-based heights were not applied in updated scrollable iframe container 2025-06-24 09:20:42 -04:00
Matias Chomicki 781d8541d6 Codeowners: add @grafana/observability-logs to Loki frontend (#107115) 2025-06-24 13:18:24 +00:00
Chris Chang 16e5d8a6de Cloudwatch: Add missing AWS regions (#106304) 2025-06-24 13:14:15 +00:00
Tobias Skarhed 51c3883ac6 Scenes: Add support for scopes in annotation queries (#107113)
Bump scenes version for scopes annotations support
2025-06-24 15:02:22 +02:00
Gabriel MABILLE aa3d09bd70 Docs: Updatebasic_grafana_admin role assignments (#107112)
RBAC: Update docs
2025-06-24 14:54:41 +02:00
Alexa Vargas f7fafe70f4 Dashboard: FF dashboardNewLayouts Fix library panels non-editable when multiple added (#107052)
Dashboards: Fix library panels non-editable if multiple were added - dashboardNewLayouts
2025-06-24 14:15:44 +02:00
Ashley Harrison 38fc06a6ff Internationalisation: Mark up panel edit options (#107051)
* markup timeseries panel edit

* mark up matchers ui

* mark up bar chart

* mark up stat panel

* mark up gauge

* mark up bar gauge

* mark up table component

* mark up pie chart

* mark up state timeline

* mark up heatmap

* mark up status history

* mark up histogram

* mark up text panel

* mark up alert list

* mark up dashboard list

* mark up news panel

* mark up annolist

* mark up logs panel

* mark up node-graph

* mark up traces

* mark up trend

* mark up xychart

* fix build
2025-06-24 12:55:55 +01:00
Josh Hunt bdb1891431 UI: Use tabular-numbers globally (#107036)
* UI: Use tabular-numbers globally with feature toggle

* Enable toggle by default
2025-06-24 11:52:03 +00:00
Gilles De Mey 7c914af56a Alerting: Prevent incorrect prefill params to crash the rule editor (#106395)
also introduces "zod" as dependency
2025-06-24 11:51:20 +00:00
Gilles De Mey 3c799b13e9 Alerting: Move data source error button (#106998) 2025-06-24 13:43:18 +02:00
Bogdan Matei 60fd684da0 E2E: Fix panels smoke tests in the old arch (#107101) 2025-06-24 14:17:16 +03:00
Gábor Farkas 8ba6487b15 datasources: querier: add unit tests (#107105) 2025-06-24 13:07:05 +02:00
renovate[bot] a88e06a647 Update scenes to v6.22.0 (#107029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 10:50:27 +01:00
Alexander Akhmetov 3b45f7daa5 Alerting: Fix flaky test (#107090) 2025-06-24 11:25:51 +02:00
Gilles De Mey d3b86b2bd5 Alerting: Use Alerting package for contact point selection (#104772) 2025-06-24 11:08:27 +02:00
Josh Hunt e1af2e15cb I18n: Import Scenes translations (#106852)
* wip

* use initScenesTranslations

* comment

* use just plain resource loaded from scenes lib

* update to the published scenes version

* rename loadPluginResources to loadNamespacedResources
2025-06-24 10:00:41 +01:00
Roberto Jiménez Sánchez 9a95430815 Provisioning: Increase timeout for flaky CreateGithubRepository integration test (#107091)
Increase timeout CreateGithubRepository test
2025-06-24 08:49:59 +00:00
Peter Štibraný 6e5056e1be Add tracing to bulk process. (#107047)
Add logging to bulk process.
2025-06-24 09:45:32 +01:00
Pepe Cano f14492baf8 docs(alerting): prom backend to write ALERTS metric (#107006)
* docs(alerting): prom backend to write ALERTS metric

* add enterprise label

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/configure-alert-state-history/index.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

* Update docs/sources/alerting/set-up/meta-monitoring.md

Co-authored-by: Alexander Akhmetov <me@alx.cx>

---------

Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-24 10:38:52 +02:00
Georges Chaudy 9062d88ea0 unistore: filter trash requests (#106767)
* deleted by user

* use the correct checker

* add tests

* refactor
2025-06-24 10:17:34 +02:00
Leon Sorokin cf8e3bf7d4 XYChart: Add support for x=time (#106459)
* XYChart: Add support for x=time

* prettier

* Add time axis demo to provisioned dashboard for XY

* Add details about time fields to the documentation

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
2025-06-23 18:13:28 -05:00
Kristina 17952d45e4 Correlations: Add mention of external type to docs (#107063)
* Add mention of external type to correlations docs
2025-06-23 20:14:00 +00:00
mohammad-hamid 55cc6c120a Zanzana: incorrect folder tree bug (#106478)
use pagination to get all folders
2025-06-23 11:07:16 -04:00
Matias Chomicki 51bd50142a Outline: Delegate log level filtering to the Logs panel (#106973)
* Content Outline: Depreacte log level filtering

* LogsVolumePanelList: refactor series visibility callback

* Logs Volume: sync filters with panel

* ExploreGraph: add toggleLegend support to remove overrides

* Explore: implement two way level filtering from Panel or Logs Volume

* Remove log

* ExploreGraph: remove buggy ref

* Update test
2025-06-23 11:29:30 +02:00
Stephanie Hingtgen 63bc65fa4c Dashboards: Fix history list for dashboard uids that end in - (#107073) 2025-06-22 06:56:45 -06:00
ismail simsek e99e879fe1 Prometheus: Introduce series limit configuration (#107038)
* introduce series limit configuration

* add docs
2025-06-21 15:40:52 +02:00
Matias Chomicki 18757952eb New Logs Panel: Support multiple virtualization instances for different font sizes (#107023)
* LogList: memoize styles

* virtualization: refactor to support multiple instances

* LogList: refactor to support multiple virtualization instances

* Update tests

* LogLine: unfocus test

* virtualization: refactor class to use the provided font size

* LogLine: split component to reduce re-renders
2025-06-21 14:38:46 +02:00
alerting-team[bot] c4c2510a04 Alerting: Update alerting module to 863b09716e600ae15235b0fe2f996a389becd850 (#107027)
* [create-pull-request] automated change

* Fix TestRemoveSecretsForContactPoint test

---------

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-06-21 00:01:12 +02:00
Stephanie Hingtgen ef6e28b955 K8s: Make v0alpha1 opt-in (#107056) 2025-06-20 16:37:17 -05:00
Kristina 0e35c8bdb4 Transformations: Ignore value displayName for columns for matrix grouping (#106647)
* Ignore value displayName for columns for matrix grouping

* Fix spelling
2025-06-20 16:33:29 -05:00
ismail simsek f27098a976 Chore: Remove limit as '0' (#107040)
remove limit as '0'
2025-06-20 16:34:59 +00:00
Alexander Akhmetov a76057cedb Alerting: Use GRAFANA_ALERTS as the default state history metric name (#107050) 2025-06-20 18:14:36 +02:00
Matthew Jacobson 5520f48153 Alerting: Use new receiver models for encrypt/decrypt in remote AM (#107042)
Several niche bugs have surfaced as a result of the decrypt code Grafana uses in receivers API being different than what is used to decrypt secrets before sending to remote AM. Example:
- Dingding notifier not abiding by new Patching added to local AM, thus causing missing url errors.

* noop refactor to simplify decryptConfiguration

* Move compat function package

* Use new receiver models to encrypt/decrypt in remote AM
2025-06-20 11:45:01 -04:00
Mustafa Sencer Özcan 3a13c2db64 chore: add logging around migration cli (#107046) 2025-06-20 15:20:06 +00:00
Ashley Harrison 5d3a1f07c8 Theme: Make viz colors configurable by the theme input (#106974)
* make viz colors configurable when creating the theme

* fix bug with palette not showing last color

* attempt to constrain the types better

* better generics

* remove reverseMap

* ensure there's an empty options default
2025-06-20 16:13:24 +01:00
Kristina ac2d2bb2b1 Transformations: Leave first time field out of sort for organize fields (#106862)
* Fix docs

* Remove first time field from sorting for consistent indexing, add margin to radio

* integrate in with sort

* find first

* Move lonely test to proper block, add test for logic change, refine logic

* bonus points
2025-06-20 13:45:07 +00:00
Alexa Vargas 3f0a76764d Chore: Change Library Panels CODEOWNERS and Auto Triage to sharing squad (#107025)
* Chore: Change Library Panels CODEOWNERS to sharing

* change auto triage for library panels to redirect to sharing squad

* move sharing squad to appropiate section
2025-06-20 15:39:32 +02:00
Alexander Akhmetov ac832c157e Alerting: Maintain endsAt for missing alert instances that are not stale yet (#107011) 2025-06-20 14:31:21 +02:00
ismail simsek 18cb131a2a Chore: Refactor some of the prometheus data source types (#107031)
* refactor the types

* more refactoring

* fix import
2025-06-20 12:02:41 +00:00
Arati R. 0b7e2f5601 K8s/Dashboards: Add mode 1, 2 to dashboard TestIntegrationValidation (#107018)
* Add mode 1 to dashboard TestIntegrationValidation
* Reject update with version conflict also in mode 1
* Add integration testing for mode 2
2025-06-20 13:11:26 +02:00
Roberto Jiménez Sánchez d1b4bb182d Provisioning: Bump nanogit library for performance improvemnents (#107026)
* Bump nanogit library

This version of nanogit will be optimized for performance, specially for
bulk writes. It will store packfiles in a temporary file if there are
too many and clean up after push or when the writer is removed.

* Format code in nanogit/git.go
2025-06-20 12:51:29 +02:00
Kristian Bremberg b30f501bff backendsrv: Implement optional URL path fetch sanitize (#106540)
* feat: Implement optional URL path sanitization in BackendSrv methods

* add comment

* revert

* remove namespace import from backendsrv

* change method to validatePath, remove query params and fragments

* Moved validatePath call into fetch and make it throw an error instead

* update pluginSettings tests

* prettier

* Update public/app/features/plugins/pluginSettings.ts

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>

* change name to validatePath

* fix other tests

* rename property in backend_srv tests

* rename to validatePath in backend_srv, add extra tests

* Move path validation into parseUrlFromOptions

* fix

* Add additional check

* Add test

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-06-20 11:27:53 +01:00
ismail simsek 704d91f2be Prometheus: Fix utf8 label value handling (#106963)
* clean up

* fix tooltip

* adjust label values query for utf8 label names

* fix series call with utf8 label

* remove commented code

* fix test
2025-06-20 10:12:42 +00:00
renovate[bot] d732e0fb31 Update faro to v1.18.2 (#107003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 10:06:11 +00:00
Sergej-Vlasov de59956db4 Undo/Redo: add support for variable repeat options (#106617)
* add undo support for panel repeat variable change

* add undo support for panel repeat direction and max per row

* i18n

* adjust actions naming
2025-06-20 09:28:52 +01:00
Ivana Huckova f0fab90072 Loki: Remove lokiSendDashboardPanelNames toggle (#106991) 2025-06-20 10:06:15 +02:00
Ivan Ortega Alba c5243c0908 E2E: Stabilize smoke tests for slow GH instances (#106995)
Test
2025-06-20 09:18:04 +02:00
Ieva 7dabc58833 RBAC: Extend folder tests for breadcrumbs (#107002)
extend folder tests for breadcrumbs
2025-06-20 09:07:54 +02:00
Domas 06f091c806 NavTree: Update Observability landing page description (#106971)
Update observability landing page description
2025-06-20 10:05:50 +03:00
Mustafa Sencer Özcan f2bd367f61 fix: keep dual writer mode in sync with kv store (#106692) 2025-06-20 08:37:20 +02:00
Josh Hunt a4232eb1b8 CI: Skip a11y checks for now (#107005) 2025-06-19 19:12:03 +01:00
Jack Baldry 244ffad99d Fix all the old usage of admonition syntax (#106984) 2025-06-19 17:31:13 +01:00
renovate[bot] aecac275f5 Update dependency uuid to v11.1.0 (#106999)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 17:20:12 +01:00
J Stickler 1b59bc2b31 docs: update URLs to fix broken links (#106955) 2025-06-19 11:02:07 -04:00
renovate[bot] db2301d58d Update dependency swagger-ui-react to v5.25.2 (#106990)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 14:57:01 +00:00
Peter Štibraný 156acd1744 Add tracing to live calls. (#106980)
* Add tracing to live calls.

Clients using /api/live/ws use long-running request and post various commands via the request. This PR adds tracing span to each client-initiated action like subscribing/unsubscribing to/from channel, RPC call, publishing an event.

Server-initiated messages are not included in the trace yet.
2025-06-19 16:38:12 +02:00
Andreas Christou 7135832fff Graphite: Fix recursion (#106983)
* Fix for repeated row variables

* Add unit tests

* Do not recursively replace queries that self-reference

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-06-19 14:08:42 +00:00
Andreas Christou f7667f44db Graphite: Fix nested variable interpolation for repeated rows (#106976)
* Fix for repeated row variables

* Add unit tests

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
2025-06-19 14:40:05 +01:00
renovate[bot] b9fa641ff6 Update dependency react-zoom-pan-pinch to v3.7.0 (#106975)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 12:54:24 +00:00
Ivana Huckova aea7bbfec8 Loki: Decouple some of backend dependencies on grafana (#106788)
* Remove backend dependencies on core

* Remove .golangci.yml changes

* make update-workspace
2025-06-19 14:18:23 +02:00
Juan Cabanas 7c9867a4dd Query Library: Change test helpers (#106775) 2025-06-19 11:45:59 +00:00
Josh Hunt 8e107fa3b7 E2E: Fix icons not loading consistently in e2e tests (#106946) 2025-06-19 11:47:51 +01:00
Matheus Macabu f68c451b00 Build: Add experimental build+watch with Air (#106834)
* Build: Add experimental build+watch with Air

* Codeowners: Add owner for .air.toml

* Makefile: Add installation reference for Air
2025-06-19 12:36:37 +02:00
renovate[bot] 9b4afdc5b9 Update dependency react-i18next to v15.5.3 (#106947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 10:53:17 +01:00
Will Browne 3d37f969e7 Plugins: Move discovery logic to plugin sources (#106911)
* move finder behaviour to source

* tidy

* undo go.mod changes

* fix comment

* tidy unsafe local source
2025-06-19 10:28:23 +01:00
Bogdan Matei 2b21bdf4e1 VizTooltip: Fix memory leak (#106907)
VizTooltip: Fix memory leak
2025-06-19 11:47:03 +03:00
Denis Vodopianov 041fadce06 Chore: Make base images in Dockerfile dependabot-friendly (#106792) 2025-06-19 10:45:34 +02:00
Ivan Ortega Alba 238cff5e8a Dashboard Migrations: V34 CloudWatch Multi-Statistics Migration (#106656)
* wip: trying to understand how to get the ds info from migrator

* add datasource info provider

* Use DS service to fetch DS data

* add more tests cases to match with migrator cases

* Add snapshots

* Non-existing DS

* Add different DS for snapshots

* fix import

* Fix tests: guard against double initialization

* don't use full datasource package in test

* min version should be 35

* fix test

* fix conversion test

* Dashboards: Support schemaVersion v35 migration in backend

* Dashboards: Support schemaVersion v34 migration in backend

* Apply suggestions from code review

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>

* Apply feedback

* Remove unused parameters

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-19 07:03:14 +00:00
Mariell Hoversholm 1264b5a619 Actions: Introduce A11y test (#106806) 2025-06-19 08:20:03 +02:00
Jev Forsberg bb03ed54d3 Chore: Remove migrated e2e tests from drone pipelines (#106960) 2025-06-19 06:00:18 +02:00
Alexander Akhmetov 700c9a857c Alerting: Return extra alertmanager config as a string for mimirtool (#106959) 2025-06-19 01:12:26 +02:00
Jean-Philippe Quéméner a646043066 chore: update grafana/authlib (#106918) 2025-06-18 22:46:27 +02:00
Kevin Minehart c75034bf09 CI: Remove test upload from backend unit tests (#106953)
Remove test upload from backend unit tests
2025-06-18 20:00:48 +00:00
Yunwen Zheng fe4abf2221 Git Sync UI: Delete Provisioned Dashboard Flow (#106593)
* DeleteProvisionedDashboardDrawer: delete provisioned dashboard flow set up with drawer

* clean up

* add tests

* more test and clean up

* revert endpoint change

* adjust tests

* remove unuse codes

* fix type, fix test, add read only message

* small changes

* fix test, i18n fix

* comments

* Fix bug for file deletion using a branch

* PR comments update

* Use the provided ref for parser so that URLs work

* call useDeleteRepositoryFilesWithPathMutation in delete drawer component directly

* remove console log

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* PR comments

* use string for fields

* extract handle request logic from save form and delete form and put into one hook

* Add test for useProvisionedRequestHandler

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/components/Provisioned/DashboardEditFormSharedFields.test.tsx

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

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.test.tsx

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

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.tsx

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

* use drawer close in both save form and delete form

* Add back panelEditor onDiscard

* add panelEditor onDiscard to delete flow

* Update public/app/features/dashboard-scene/settings/DeleteProvisionedDashboardForm.tsx

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

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-06-18 15:14:03 -04:00
Mariell Hoversholm 8598fa213a Drone: Delete migrated workflows (#106870)
* Drone: Remove verify_storybook pipeline

Already exists in GitHub Actions.

* Drone: Remove lint_backend pipeline

Already exists in GHA.

* Drone: Remove backend tests

These already exist in GitHub Actions.

* Drone: Remove shellcheck pipeline

* Drone: Remove unused images

* Drone: Remove lint_frontend pipeline

Already in GHA.

* Drone: Remove test_frontend pipeline

Already exists in GHA.

* Drone: Remove integration_benchmarks pipeline

This was last used in January. GHA does not have it, but it is relatively trivial to run locally.
2025-06-18 14:03:23 -05:00
ismail simsek 17ad7af3b8 Prometheus: Use new language provider methods for code completions and query hints (#106383)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* support new language provider methods in variable editor

* use queries and adhoc filters to extract matchers

* filter out __name__

* improve match string in series query label value calls

* update unit tests

* betterer

* use new language provider methods in completions and query hints

* betterer
2025-06-18 20:57:16 +02:00
ismail simsek f273c1c373 Prometheus: Use new language provider methods for variable handling (#106277)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* support new language provider methods in variable editor

* use queries and adhoc filters to extract matchers

* filter out __name__

* improve match string in series query label value calls

* update unit tests

* betterer

* betterer
2025-06-18 20:36:13 +02:00
Ezequiel Victorero dd7fbb7b64 Query Library: Add title param when creating a query (#106713)
* Query Library: Add title param when creating a query

* kick CI

---------

Co-authored-by: Collin Fingar <collin.fingar@grafana.com>
2025-06-18 14:00:17 -04:00
Gilles De Mey b68166c437 Alerting: Improve group view loading button state (#106922) 2025-06-18 18:56:42 +01:00
renovate[bot] 2b960d15ae Update dependency react-hook-form to v7.58.1 (#106945)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 18:27:13 +01:00
Todd Treece f3b545a903 K8s: Add cluster scope support in app runner (#106914) 2025-06-18 13:15:32 -04:00
ismail simsek 7e5122d580 Prometheus: Use new language provider methods in visual query builder (#106204)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* use new method in query builder

* fix metrics modal tests too

* use labelValues method while searching in combobox

* update metrics modal regex search

* lint

* fix unit test

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* caching for labels api client

* betterer

* fix errors
2025-06-18 19:05:16 +02:00
ismail simsek 4ba09df7dd Prometheus: Use new language provider methods in metrics browser and query field (#106163)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients

* unit tests

* act accordingly with the feature toggle

* some more unit tests

* add feature toggle

* Revert "add feature toggle"

This reverts commit 5c93ac324f.

* remove feature toggle

* update tests

* backward compatibility

* fix scope issues

* comment update

* stronger types

* prettier

* betterer

* use new methods in metrics browser and query field

* always return data

* Revert "always return data"

This reverts commit 38e493c189.

* Revert "Revert "always return data""

This reverts commit b5d3b5d2b0.

* handle error

* lint

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* add additional tests

* proper match string for series

* introduce series cache

* introduce series cache for series label values

* lint

* cache values too

* utf8 safe label values query with series endpoint

* fix unit tests

* import fixes

* more import fixes

* fix unit tests
2025-06-18 18:24:55 +02:00
Andrew Hackmann df33310530 Partner data sources: Remove horizontal groups (#106868)
* remove horizontal groups:

* remove space
2025-06-18 17:16:21 +01:00
renovate[bot] 484d52d8ed Update dependency re-resizable to v6.11.2 (#106943)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 16:57:43 +01:00
mohammad-hamid 936dd05eac ext jwt client: map k8s-style to rbac permissions (#106279)
* initial commit

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

* extend k8s-style mapper
- add tests

* address comments

* cleanup

* address comments

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-06-18 11:51:35 -04:00
Ivana Huckova 67f50478d9 Loki: Refactor getting of panel/dashboard title headers as part of decoupling (#106829)
* Loki: Refactor getting of panel/dashboard title headers as part of decoupling

* Add headers to be passed to api server

* Address review comments
2025-06-18 17:41:31 +02:00
Mariell Hoversholm 3f69249bc8 Actions: Join on test suites (#106930) 2025-06-18 17:39:16 +02:00
Will Browne 05b458741e DataSources: Add mutex to provisioning step (#106921)
add mutex to ds provisioning
2025-06-18 16:34:40 +01:00
renovate[bot] c6ee26b459 Update dependency rc-picker to v4.11.3 (#106929)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 17:25:01 +02:00
Gilles De Mey 97e33b5da4 Alerting: Add rollup config for package (#106326) 2025-06-18 17:06:57 +02:00
Andreas Christou 6e45069cdd Graphite: Fix annotation queries (#106553)
* Add refid to annotation queries

* Fix errors
2025-06-18 16:03:25 +01:00
Andreas Christou 4020a3d96a Azure: Fix resource name determination in template variable queries (#105705)
* Correctly parse resource URIs

* Update test

* Update variable function
2025-06-18 16:02:40 +01:00
Alexander Akhmetov 4b46da9214 Alerting: Hide extra Prometheus configuration secrets (#106916) 2025-06-18 17:01:19 +02:00
Matheus Macabu f6c4191a01 DevEnv: Add jaegeronly container (#106890)
(cherry picked from commit c687901cd3)
2025-06-18 17:00:10 +02:00
Alexa Vargas a093381678 Dashboard: SchemaV2 - Fix stateless variable query with default datasource (#106850)
* Dashboard: SchemaV2 - Fix stateless variable query with default datasource

* Add warning for debugging purposes

* fix test add expected warning
2025-06-18 16:39:46 +02:00
Andreas Christou 629bd11c07 Azure: Fix legend formatting (#106504)
Fix inconsistent casing in resource URIs
2025-06-18 09:36:20 -05:00
Mariell Hoversholm c0b977b9e3 Actions: Wait for all backend unit tests (#106927) 2025-06-18 16:32:26 +02:00
renovate[bot] a9bc877b00 Update dependency rc-drawer to v7.3.0 (#106920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 15:24:58 +01:00
ismail simsek 6d9475127c Prometheus: Use PrometheusLanguageProviderInterface instead of legacy PromQlLanguageProvider (#105988)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce new methods

* provide unit tests for labelValues

* update metadata fetch

* move all cache related stuff in caching.ts

* provide interface

* provide deprecation messages

* unit tests for new interface

* separation of concerns

* update tests

* fix unit test

* fix some types

* Revert "fix some types"

This reverts commit 7e64b93b5f.

* revert interface usage

* betterer

* use PrometheusLanguageProviderInterface in everywhere

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* import fixes
2025-06-18 16:24:07 +02:00
Mariell Hoversholm 74e39dd996 Actions: Add Swagger verification (#106873) 2025-06-18 16:00:34 +02:00
Mariell Hoversholm 15931d3ac9 Provisioning: Update nanogit (#106908) 2025-06-18 15:55:15 +02:00
Collin Fingar 8b4b77c928 QueryLibrary: Analytics (#106740)
Query Library Analytic Changes
2025-06-18 09:54:52 -04:00
Gilles De Mey 13406336ce Alerting: Update error message for failed FetchError (#106846) 2025-06-18 15:51:25 +02:00
Mariell Hoversholm 24192745b6 Actions: set -euo pipefail on multi-cmd runs (#106906) 2025-06-18 15:50:30 +02:00
Oscar Kilhed afee9e47f2 Dashboards: undo redo move tab (#106786)
* move tab

Fixed issue

* make i18

* always select the tab after moving it, select it after undo too
2025-06-18 15:48:40 +02:00
Alex Khomenko 8893b9a6eb Restore dashboards: Use k8s API (#105823)
* Add dashboardRestore toggle

* Restore the toggle on FE

* Add navtree item

* Add restore dashboard call

* Fix lint

* Add transformer

* Rename feature toggle

* Use the renamed toggle

* update API url

* List deleted dashboards from sql searcher

* Upd imports

* Remove permanently delete action

* Fix type assertions

* Add restore endpoints to the api

* Fix unified api

* Use db api in search

* Fix resource version

* Add tests

* Cleanup

* Extract getting db

* Add listDeletedDashboards

* Add listDeletedDashboards

* Enable restoring dashboards

* Restore to a folder

* Extract logic

* Remove type assertion

* betterer

* Cleanup

* i18n
2025-06-18 16:48:12 +03:00
Konrad Lalik 94fb519a2b Alerting: List V2 - Use backend filters for GMA rules (#106897)
* Use state, health and receiver_name query params for server-side filtering

* Remove Unknown option from state filters
2025-06-18 15:47:53 +02:00
ismail simsek c7e338342a Prometheus: Introduce resource clients in language provider (#105818)
* refactor language provider

* update tests

* more tests

* betterer and api endpoints

* copilot updates

* betterer

* remove default value

* prettier

* introduce resource clients and better refactoring

* prettier

* type fixes

* betterer

* no empty matcher for series calls

* better matchers

* addressing the review feedback
2025-06-18 15:31:49 +02:00
renovate[bot] e3cbe54b45 Update dependency rc-cascader to v3.34.0 (#106917)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 14:22:33 +01:00
Alexander Akhmetov 426c334973 Alerting: API to create extra Alertmanager configurations (#106904)
What is this feature?

Implements the POST endpoint for deleting imported Mimir Alertmanager configurations:

    POST /api/convert/api/v1/alerts

The API endpoint creates the extra Alertmanager configuration with the provided identifier and matchers.
2025-06-18 15:05:06 +02:00
Gilles De Mey 3ab54a5562 Alerting: Several list view fixes (#106902) 2025-06-18 15:02:30 +02:00
renovate[bot] a7c65b4e0a Update dependency msw to v2.10.2 (#106913)
* Update dependency msw to v2.10.2

* add explicit type

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-18 13:53:03 +01:00
Andreas Christou 24d7d8c358 Influx: Update flightsql language definition ID (#106901)
fix: replace flightsql languageDefinition.id `flightsql` with `sql`

Co-authored-by: bherbruck <brennen.herbruck@gmail.com>
2025-06-18 13:34:51 +01:00
renovate[bot] c463e3a6e4 Update dependency @grafana/plugin-ui to v0.10.7 (#106910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 13:08:56 +01:00
Ashley Harrison 7070da073e Drawer: Include divider and close button when passing a custom title element (#106896)
* make drawer title behaviour more consistent

* fix linting errors
2025-06-18 12:52:32 +01:00
renovate[bot] 6b946cf40b Update dependency @grafana/google-sdk to v0.3.2 (#105813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 12:44:21 +01:00
Joey ecf793ea05 Tempo: Fix TraceQL Search escaping regex queries (#106693)
* Fix for TraceQL Search incorrectly escaping regex queries

* Update test

* Keep existing filter values when adding custom
2025-06-18 12:21:45 +01:00
Alexander Zobnin 0270152e35 Zanzana: Improve server side tracing (#106804) 2025-06-18 12:53:39 +02:00
Alexander Akhmetov def5d889d0 Alerting: API to delete extra Alertmanager configurations (#106892) 2025-06-18 12:37:56 +02:00
renovate[bot] 02bdac447d Update dependency lru-cache to v11.1.0 (#106880)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 11:15:59 +01:00
Irene Rodríguez 6d7a593407 [docs] Create new page for Grafana Advisor (#106091)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Harris <david.harris@grafana.com>
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-06-18 11:14:35 +02:00
Alexander Akhmetov 8c6df8b449 Alerting: Add support for retrieving imported Prometheus Alertmanager configurations (#106864) 2025-06-18 10:49:40 +02:00
renovate[bot] 4bfd7b6d7c Update dependency immutable to v5.1.3 (#106838)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 10:24:39 +02:00
Gabriel MABILLE 56c9dbf6e5 AuthZ: Add a feature toggle for the k8s apis (#106795) 2025-06-18 09:43:01 +02:00
Ryan McKinley 945bc53b4c DualWrite: Manage values from KV store (not file) (#106772) 2025-06-18 10:37:44 +03:00
Roberto Jiménez Sánchez 3cb62e370b Provisioning: Add pure git repository type (#106815)
* Add repository type git to spec
* Register git type
* Update test checks
2025-06-18 09:05:37 +02:00
Saya 806068b9de Drilldown: Fix js crash when using http (#105646)
Update AppWrapper.tsx
2025-06-18 08:57:28 +02:00
Sonia Aguilar 9905d3447c Alerting: Fix RefIds not being shown when creating or editing Grafana-managed recording rule (#106840)
* fix refids when creating grafana-managed recording rule

* fix refids when editing grafana-managed recording rule

* review comments
2025-06-18 06:48:13 +00:00
Alexander Akhmetov 78bec77ca1 Alerting: Fix NewDatasourceWriter initialization (#106869)
Fix NewDatasourceWriter initialization
2025-06-18 07:53:48 +02:00
Alexander Akhmetov ad683f83ff Alerting: Add state history backend to write ALERTS metric (#104361)
**What is this feature?**

This PR implements a new Prometheus historian backend that allows Grafana alerting to write alert state history as Prometheus-compatible `ALERTS` metrics to remote Prometheus-compatible data sources.

The metric includes a few additional labels:

* `grafana_alertstate`: Grafana's full alert state, more granular than Prometheus.
* `grafana_rule_uid`: Grafana's alert rule UID.

Grafana states are included in the `grafana_alertstate` label also mapped to Prometheus-compatible `alertstate` values:

| Grafana alert state | `alertstate`          | `grafana_alertstate`  |
|---------------------|-----------------------|-----------------------|
| `Alerting`          | `firing`              | `alerting`            |
| `Recovering`        | `firing`              | `recovering`          |
| `Pending`           | `pending`             | `pending`             |
| `Error`             | `firing`              | `error`               |
| `NoData`            | `firing`              | `nodata`              |
| `Normal`            | _(no metric emitted)_ | _(no metric emitted)_ |
2025-06-18 07:17:57 +02:00
grafana-pr-automation[bot] 5448e8fb22 I18n: Download translations from Crowdin (#106866)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-18 02:32:30 +02:00
Kevin Minehart 0ff3ed0a64 Fix 12.0.2 changelog (#106863) 2025-06-17 22:04:28 +00:00
Alexander Akhmetov 5a78ce8a4b Alerting: Support saving extra Mimir configurations (#106721) 2025-06-17 23:33:16 +02:00
Moustafa Baiou 74e800e427 Alerting: Add provenance to Prometheus API (#106596)
This commit adds provenance information to the Prometheus API in the ngalert service to enable compatibility with the new alert list page.
2025-06-17 23:31:42 +02:00
Matias Chomicki 693bc51693 New Logs Panel: Read default font size from storage + add missing unescaped content check + fix mutation (#106755)
* Logs Panel: remove default value to it's taken from local storage code

* processing: do not remove newlines, let truncation handle

* LogList: check and pass unescaped content to context

* LogLine: prevent mutation of searchWords

* grammar: use parseFlags

* grammar: escape regex
2025-06-17 23:10:34 +02:00
Pepe Cano 286a6638b8 docs(alerting): fix Grafana Play links due to provisioning (#106816) 2025-06-17 23:08:46 +02:00
Alexander Akhmetov f6e330b3d7 Alerting: Allow disabling recording rules write for a data source in the UI (#106664)
Adds a new "Allow as recording rules target" toggle to Prometheus datasource configuration that controls whether the datasource can be selected as a target for writing recording rules.
---------

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-17 22:55:45 +02:00
Brendan O'Handley 6cb2c701e6 Tempo: Enable native histograms for Tempo service graph (#105989)
* add native histogram dropdown to tempo config for service graph

* add docs for configuring native histograms

* add config native histogram options to types

* add native histogram metric to graph transform

* add native histogram to service map query for links

* add native histogram duration metric for duration queries

* use native histogram for duration queries

* export for tests

* add tests for native histogram links, queries and dataframes

* update tempo devenv to use native histograms

* use union for histogramType

* run prettier

* remove comment
2025-06-17 20:40:40 +00:00
github-actions[bot] 200f3a5f51 Release: update changelog for main (#106807)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

add cve fixes to changelog on main

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-06-17 13:41:51 -06:00
Florian Verdonck 45bd08baf5 ElasticSearch: Remove frontend response parsing (#104148)
* chore: Remove ElasticReponse

* Ran betterer
2025-06-17 20:20:28 +01:00
Mariell Hoversholm 18fc0bc878 Actions: Introduce Shellcheck action (#106843) 2025-06-17 21:15:03 +02:00
Roberto Jiménez Sánchez 689cafc1fa App Platform Provisioning: Add experimental nanogit mode for Git Sync (#106763)
* Add nanogit package
* Add nanoGit feature flag
* Put logger into nanogit context
* Commit go mod and go sum updates
* Add more stuff around logging
* Nanogit also in extra one
* Add owner to dependency
2025-06-17 19:07:30 +02:00
Kristina 5e9bb9f506 Transformations: Add "Auto" mode to Organize Fields (#103055)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Paul Marbach <paul.marbach@grafana.com>
2025-06-17 11:29:11 -05:00
Mihai Doarna 96f1582c36 Docs: Remove api key references from docs (#106134)
remove api key references from docs
2025-06-17 18:20:08 +03:00
Kevin Minehart 7bae1d9d02 CI: Pin qemu binfmt image (#106847)
statically set qemu binfmt image
2025-06-17 17:18:14 +02:00
Moustafa Baiou 0e6c7f84c3 Alerting: Add filters for health and contact point in Prometheus Rules api (#106580)
This adds the ability to filter rules with the prometheus compatible api using:
1. `receiver_name` to filter by contact point name
2. `health` to filter by the health status of the rule (one of `ok`, `error`, `nodata`, or `unknown`)

This also ensures that groups with no rules (due to filters) are not returned.
2025-06-17 16:57:03 +02:00
Ashley Harrison a302dad3c9 Chore: Allow package translations (#106820)
allow package translations
2025-06-17 15:46:41 +01:00
Ashley Harrison 6fcfa5f9e4 Internationalisation: Scope package translation keys (#106844)
* fix grafana-prometheus markup

* fix grafana-sql package translations

* Revert "fix grafana-sql package translations"

This reverts commit 3a85160deb.

* fix grafana-sql translations
2025-06-17 15:43:32 +01:00
Mustafa Sencer Özcan b48337a7c8 feat: introduce ttl cache for bleve indices (#106842) 2025-06-17 16:28:51 +02:00
Josh Hunt 1dfbd215cd I18n: Add rollup plugin to handle dynamic imports in prom package (#106837)
I81n: Add rollup plugin to handle dynamic imports in prom package
2025-06-17 15:06:53 +01:00
kay delaney 2aae202f92 Library Panels: Mark library panel RBAC as GA & enable by default (#106833) 2025-06-17 14:50:34 +01:00
kay delaney f71c9c6ebf Dashboards: Add undo/redo support for adding/removing template variables (#106643)
* Dashboards: Add undo/redo support for adding/removing template variables

* Remove unnecessary ObjectRemovedFromCanvasEvent
2025-06-17 14:50:11 +01:00
Kyle Brandt 8b6329a224 SQL Expressions: Fixes for Prometheus Metric Instrumentation (#106722)
* capture errors on metrics
* rename seconds to sql_command_duration_milliseconds to match unit that has been captured, and update buckets
* rename sql_command_errors_total to sql_command_count
2025-06-17 09:23:56 -04:00
Costa Alexoglou 9ce207b472 docs: k8s backend contrib docs minor fixes (#106174)
* docs: minor k8s inspired doc changes

* docs: revert to v1 as recommended first major

* Update contribute/architecture/k8s-inspired-backend-arch.md

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>

---------

Co-authored-by: Igor Suleymanov <radiohead@users.noreply.github.com>
2025-06-17 15:12:49 +02:00
renovate[bot] 94013a341c Update dependency i18next-browser-languagedetector to v8.2.0 (#106835)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 13:54:10 +01:00
renovate[bot] 91491d6147 Update dependency croner to v9.1.0 (#106817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 13:29:01 +01:00
dependabot[bot] a5aab2edca Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 (#106510)
Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/cloudflare/circl/releases)
- [Commits](https://github.com/cloudflare/circl/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/cloudflare/circl
  dependency-version: 1.6.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 14:24:30 +02:00
Nick Richmond c65ef07635 Prometheus: Facilitate tree shaking with exports and bundler mode (#105575)
* feat: bundler mode

* refactor: simplify singleton modeller

* refactor: isolate state

* refactor: decouple query rendering from modeller

* fix: remove unused var

* build: configure declaration files

* refactor!: configure exports

* fix: remove unused file

* fix: use shared utils only

* refactor: avoid confusing singleton

* fix: avoid ReDoS

see https://github.com/grafana/grafana/security/code-scanning/2883 for details

* fix: avoid catastrophic backtracking

see https://github.com/grafana/grafana/security/code-scanning/2884 for details

* fix: circular dep

* fix: make rollup happy by restoring declarationDir

* fix: import

* fix: circular dep

* chore: remove superfluous file

* fix: remove duplicate modeller code

* chore: remove superfluous comment

* fix: handle subpaths in exports

* fix: add missing ignore

* fix: correctly ignore assertion

* refactor: improve clarity

* refactor: promote clarity, be explicit

* refactor: more sensible filter

* fix: add missing devDep

* fix: circular import

* refactor: avoid type assertions where possible

* fix: linting

* chore: remove subpath exports for now

* chore: prefer forthcoming solution for arbitrary exports

* chore: undo erroneous change after merge

* refactor: prefer snake_case

* fix: linting

* refactor: simplify
2025-06-17 07:40:43 -04:00
Oscar Kilhed e90134bb6f Dashboards: Prefer the library panel title instead of panel title set in the dashboard. (#106810)
* prefer library panel title

* Add .

* add tests
2025-06-17 13:21:21 +02:00
Andres Martinez Gotor a125c17e79 Update grafanaAdvisor FF stage to private preview (#106819) 2025-06-17 12:50:00 +02:00
renovate[bot] dda1d551cf Update dependency ol-ext to v4.0.33 (#106813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:17:43 +00:00
Josh Hunt e49c73533b I18n: Allow pseudo-locale to be enabled in production builds (#106738)
* I18n: Allow pseudo-locale to be enabled in production builds

* fix tests now that pseudo is around

* remove psuedo locale from i18n package

* load en-us from plugin resources for pseudo

* fix tests + remove 'hidden' option

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-17 10:55:15 +01:00
Alexander Akhmetov e92baba748 Alerting: Support PDC in Grafana-managed recording rules (#106677) 2025-06-17 11:46:34 +02:00
renovate[bot] 80df9fab4d Update dependency @grafana/llm to v0.22.1 (#106812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:43:32 +01:00
renovate[bot] f2f2098c73 Update dependency esbuild-plugin-browserslist to v1 (#106717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:20:05 +01:00
Piotr Jamróz cb9526af2b Tempo: Do not wrap tick labels (#106771) 2025-06-17 10:52:07 +02:00
Pepe Cano 51b05b1b3d docs(alerting): specify that the PUT request of the rule group endpoint can create a new rule group (#106727) 2025-06-17 10:40:57 +02:00
Ivan Ortega Alba 09bbdfe8ab Dashboard Migrations: V35 ensures X-axis visibility in timeseries (#106633)
* Add datasource info provider

* Dashboards: Support schemaVersion v35 migration in backend

* update go mods

---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-17 10:38:48 +02:00
Eric Leijonmarck 25fe2b54fb LBAC for data sources: Enable teamHttpHeadersMimir by default (#106636)
feat: enable mimir lbac by default
2025-06-17 09:19:02 +01:00
Mariell Hoversholm 141e0f8e52 Codeowners: Handover Sharing elements to Enterprise (#106757) 2025-06-17 10:04:00 +02:00
Josh Hunt eb4de388c3 Chore: Bump brace-expansion (#106694)
Bump brace-expansion
2025-06-16 23:57:03 +02:00
Kevin Minehart 8b370bb6a5 CI: Build pre-release artifacts in GhA on merge to release branches and main. (#106779)
* Add grafana-build action and workflow

* Fix the --verify flag stalling on tar.gz builds

* Add event sources for main / release branches

* Update CODEOWNERS
2025-06-16 22:54:50 +02:00
Luminessa Starlight 09e8484bac i18n: rename locale to regionalFormat (#106585)
* locale -> regionalFormat, mirroring #102233

* set up regionalFormat to replace locale entirely

* replace locale with regionalFormat

* update reportInteraction arguments
2025-06-16 21:53:55 +02:00
Kristina c00caa2fb2 Transformations: Add time filtering to filter by value (#101591)
* WIP - time filtering

* Replace variable test

* Change tests

* Validator is already tested

* Change test to match evaluation

* Add line to docs

* Revert "Add line to docs"

This reverts commit 783f247c33.

* Put transformations docs update in the right place, cannot build without an update, WIP

* Run build

* Use regex test and rewind

* Does this help

* make config optional
2025-06-16 14:27:34 -05:00
Matt Cowley fc97b0e6b4 Home: restrict Getting Started Guide link to admins (#106742) 2025-06-16 14:56:52 -04:00
Jacob Valdez 7cdd4470c6 Docs: Adding info on allowlisting IPs for the Cloud Migration Assistant (#106447)
* Docs: Adding info on allowlisting IPs for the Cloud Migration Assistant

* adjusting the wording
2025-06-16 13:13:53 -05:00
Ryan McKinley d02b62e874 Chore: Update app-sdk to v39 (#106785) 2025-06-16 19:11:30 +02:00
Mathias Petermann 19a65a4865 Docs: Document remote_cache is only used if a remote database is used (#104779)
* Document `remote_cache` is only used if a remote database is used

* Update _index.md

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-16 11:38:02 -05:00
Matheus Macabu db845ed8de CloudMigrations: Add Mute Timings as dependency for Notification Policies (#106751) 2025-06-16 18:08:18 +02:00
linoman 3f2d2ec38c SAML catalog: Set default values for SAML assertion - docs (#106773)
Update documnetation references
2025-06-16 17:50:29 +02:00
Kristina f4725588ba Transformations: Add tests for getFieldTypeForReducer (#102144)
* Reorganize test file, add tests for getFieldTypeForReducer

* Add back delta tests accidently removed

* Remove skip
2025-06-16 10:38:17 -05:00
kay delaney 9a17e9abd6 Chore: Bump node to v22.16.0 (#106758) 2025-06-16 17:29:07 +02:00
Juan Cabanas c481c979f9 Reporting: Change FF to public preview (#106748) 2025-06-16 17:28:17 +02:00
brauhaus-grafana 679a0a7a42 Update index.md (#106782) 2025-06-16 17:13:02 +02:00
Matthew Jacobson 24805685bc Alerting: Fix contact points tab visibility when user can only create (#106735)
Contact points tab was not being displayed for users with only
`alert.notifications.receivers:create` and
not `alert.notifications.receivers:read`
2025-06-16 11:05:27 -04:00
Matheus Macabu 8d27f12428 Dependencies: Fix enterprise imports (#106764) 2025-06-16 16:50:19 +02:00
Scott Lepper ab023ec5fa Annotations: Remove prometheus from legacy runner (#106737)
Annotations: remove prometheus from legacy runner
2025-06-16 16:45:59 +02:00
Ivan Ortega Alba 59c2f15433 Dashboard V0->V1 Migration: Schema migration v36 (#100757)
---------

Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-06-16 15:53:41 +02:00
Ivana Huckova 6767adb4a6 Loki: Implement error source (#106766)
* Loki: Implement error source

* Add tests
2025-06-16 15:52:35 +02:00
Dana Axinte dbe815ee68 SecretsManager: keepers with secure values credentials (#106761)
* SecretsManager: keepers with secure values

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>

* Keepers: Refactor extract secure values remove extra helper functions

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

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-16 14:37:36 +01:00
renovate[bot] c28523decf Update scenes to v6.20.2 (#106774)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 15:23:28 +02:00
Ezequiel Victorero b89d52329b Dashboard: Add missing translations save drawer (#106736) 2025-06-16 09:47:11 -03:00
Andrej Ocenas 31903c7abc Command palette: Add tests for scope actions (#106660)
* Don't show result from other parents

* Use global search hook for scopes even inside scopes category

* Remove console.log

* Move code to separate files

* Add tests

* Renamed utils file
2025-06-16 14:38:27 +02:00
Oscar Kilhed 61430f027f Dynamic dashboards: Undo redo for remove row, add tab, remove tab (#106614)
* Undo redo for remove row, add tab, remove tab

* Undoing remove tab and row now adds them back in the correct place

* add tests

* fix lint issue
2025-06-16 14:20:45 +02:00
Gábor Farkas 5d54289509 datasources: querier: more robust error handling, and report no errors for single-tenant (#106288)
* datasources: querier: more robust error handling, and report no error for st

* do not leak error details out

* apply the change to the real file, not just to the test
2025-06-16 14:12:37 +02:00
kay delaney 7273e4ca1c Dashboards: Add undo/redo support for dashboard description (#106718)
* Dashboards: Add undo/redo actions for changing dashboard title

* Run make i18n-extract

* Dashboards: Add undo/redo support for dashboard description

* fix typo

* Add tests for DashboardTitleInput & DashboardDescriptionInput
2025-06-16 12:56:05 +01:00
Roberto Jiménez Sánchez 0ae635974e App Platform Provisioning: Fix flaky test to assert dashboards deletion on repository deletion (#106753)
Use assert instead of require within eventually
2025-06-16 11:46:09 +02:00
Bryan Boreham fca89d0d4c Docs: Typo: mediam->median (#106305) 2025-06-16 12:35:29 +03:00
Dana Axinte 6097841e67 SecretsManager: add secure value store (#106708)
* SecretsManager: add secure value model and sql templates

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: secure value rest layer to use store

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: temporary add actor prefix to decrypters

* Remove list securevalue by namefor now

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-06-16 10:19:44 +01:00
Victor Marin ffc16ee072 Schema: Change how origin filters are added to AdHocVariable (#106086)
* refactor origin filters schema

* add canary version

* update schema

* fix failing tests

* refactor

* remove autogenerated import

* tests

* maintain only dashboard originated filters

* refactor

* refactor

* Schema: Persist defaultValue for groupBy in schema (#106542)

* persist defaultValue for groupBy in schema

* fix

* type

* refactor

* refactor

* bump scenes
2025-06-16 11:15:00 +03:00
Bryan Huhta f974cb12b5 FlameGraph: Add support for regex search patterns and multiple search terms (#106347)
* "or" search terms with commas

* Add regex support to search bar

* Don't try match empty search terms

* Fix lint error
2025-06-16 09:33:53 +02:00
Piotr Jamróz 4b9cf4eb35 Tempo: Map error message about the time range limit to more human-readable format (#106626) 2025-06-16 09:17:34 +02:00
Hugo Häggmark 31f7af0685 Plugins: adds read-only props to DataSourcePluginSettings (#105713) 2025-06-16 06:06:42 +02:00
Hugo Häggmark a07f63fbef i18n: use @grafana/i18n within @grafana/ui (#106691) 2025-06-16 06:04:28 +02:00
maicon fcb369e9a3 Unistore/datamigration: Take namespace from command line flag (#106724)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-06-15 19:45:42 +00:00
Josh Hunt 0034456e00 TimeRangePicker: Highlight range on hover (#106616)
* WIP for improved hover state for calendar range

* TimeRangePicker: Add hover state when selecting a date range

* reorder styles to reduce duplication

* oops that wasn't supposed to go in

* ignore border radius false positive
2025-06-13 22:51:09 +02:00
Stephanie Hingtgen feeced9618 K8s: Dashboards /apis: Fix library element connections (#106734) 2025-06-13 21:40:39 +02:00
Stephanie Hingtgen a8886ad5ec Annotations: Use dashboard uids instead of dashboard ids (#106676) 2025-06-13 13:59:24 -05:00
Leon Sorokin 47f3073ab8 Transformations: Speed up INNER JOIN by ~200x, OUTER by ~20x (#105592) 2025-06-13 20:47:30 +02:00
Ida Štambuk 08f274ba73 Features: Remove xrayApplicationSignals feature toggle (#106547)
Features: Remove xrayApplicationSignals toggle
2025-06-13 20:26:14 +02:00
Santiago 3fe73b8de9 Remote Alertmanager: Send SMTP config (#106337)
* (WIP) Remote Alertmanager: Send SMTP config

* send SMTP configs separately

* bring back deleted fields

* actually send stuff over

* remove redundant type, fix comments

* smtp -> smtpConfig

* also send SmtpFrom an StaticHeaders separately

* tests

* restore defaults.ini
2025-06-13 12:44:39 -03:00
renovate[bot] edd179b4ef Update dependency @grafana/llm to v0.22.0 (#106714)
* Update dependency @grafana/llm to v0.22.0

* mark some packages as esm for jest

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-06-13 16:44:02 +01:00
Tania 1500fa5772 Extend OpenFeature service (#106707) 2025-06-13 17:30:53 +02:00
Sonia Aguilar 18b0eec0a3 Alerting: Filter out rules managed by integrations and add an info alert (#106602)
* Filter out rules managed by integrations and add an info alert

* address review comments
2025-06-13 17:21:47 +02:00
renovate[bot] a3efa2e48d Update dependency browserslist to v4.25.0 (#106716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 15:36:02 +01:00
Jacob Valdez a8e0eef02b Docs: Adding a note that we are no longer publishing a dedicated breaking changes page (#106671)
* Docs: Adding a note that we are no longer publishing a dedicated breaking changes page

* fixing broken adminition shortcode
2025-06-13 09:35:38 -05:00
Yuri Tseretyan b0ff51a903 Alerting: Support for Mimir configuration in Grafana Alertmanager (#106402) 2025-06-13 16:32:23 +02:00
kay delaney 3c0d087186 Dashboards: Add undo/redo actions for changing dashboard title (#106574)
* Dashboards: Add undo/redo actions for changing dashboard title

* Run make i18n-extract

* Prevent empty undo/redo actions
2025-06-13 15:05:27 +01:00
Jean-Philippe Quéméner 5f21f320f7 fix(unified-storage): use continue token containing both formats for dualwriter (#106525) 2025-06-13 15:59:46 +02:00
renovate[bot] 8504f7ea90 Update React Aria (#106685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 13:59:19 +00:00
Kevin Minehart 910eb1dd9e Security: apply patch 428 (#106710)
* declare dingding url as secret

patch raw settings before parsing because DingDing's config parser does not know about secrets

* fix integration test

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-06-13 15:56:26 +02:00
Matias Chomicki 5f3c04f537 New Logs Panel: Implement client-side text search (#106448)
* LogList: add key bindings hook

* LogListContext: add search support

* LogList: create and integrate LogListSearch

* useKeyBindings: close search with escape

* LogListSearch: implement go to results

* LogLine: support highlight in logs with ansi colors

* LogListSearchContext: extract from LogListContext

* LogListSearch: highlight matches in ansi logs

* LogListSearch: fix count

* LogListSearch: implement optional results filtering

* Translations

* LogListSearch: display within the panel and add tooltip

* Translations

* LogList: highlight search words and search matches

* LogListSearch: remove ufuzzy

Unfortunately we can't highlight ufuzzy matches

* LogListSearch: clean up removed ufuzzy implementation

* Prettier

* LogListSearch: search in displayed fields

* useKeyBindings: switch to native event listeners

* LogListSearch: fix effect loop

* LogListSearch: remove character so people don't think this text comes from AI

* LogLine: add text search test cases

* LogList: add integration test case

* LogListSearch: use uncontrolled input and react transitions

* LogListSearch: import t from i18n

* LogListControls: add search control

* LogListSearch: escape regexes
2025-06-13 14:50:03 +02:00
Stephanie Hingtgen 352aac162c Preferences: Use dashboard uid for the home dashboard (#106666) 2025-06-13 07:10:44 -05:00
Gilles De Mey 4c2bfe8263 Alerting: Add simplified routing metadata to the details tab (#106403) 2025-06-13 13:49:52 +02:00
Alex Khomenko 6a11d462cb API: Support versioned frontend clients (#106545)
* Update the generator to include version

* Add versioned APIs

* Update imports

* Prettier
2025-06-13 13:24:37 +03:00
Jean-Philippe Quéméner 3e3fa18118 Revert "fix(folders): only return continue token if more results" (#106700)
Revert "fix(folders): only return continue token if more results (#106667)"

This reverts commit 3fd8ad8476.
2025-06-13 12:07:27 +02:00
Pepe Cano cdacfd6f79 ui(alerting): Add NeedHelp section for the Missing series evaluations to resolve setting (#105456)
* ui(alerting): Add NeedHelpInfo UI for `Missing series evaluations` setting

* Run `make i18n-extract`

* fix URL linke
2025-06-13 11:12:06 +02:00
Matheus Macabu a65743e41d CloudMigrations: Skip default contact point from snapshot (#106600)
* CloudMigrations: Skip default contact point from snapshot

* Update cloud-migration-assistant.md

* Update cloud-migration-assistant.md

---------

Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-13 11:09:27 +02:00
Ivana Huckova fba0d8ddb0 Loki: Ensure that streaming is behind feature toggle in backend (#106657)
* Loki: Ensure that streaming is behind feature toggle in backend

* Update getLiveStreamKey to include orgId and datasourceUIS
2025-06-13 10:49:55 +02:00
Natalia Bernarte Oses 61be88b9b3 Fix sql expressions label (#106575)
Fixes the sql expressions label
2025-06-13 10:43:13 +02:00
Pepe Cano 493e7ba75f docs(alerting): enhancements for MQTT docs (#106566)
* docs(alerting): enhancements for MQTT docs

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

Co-authored-by: Simon Prickett <simon@crudworks.org>

---------

Co-authored-by: Simon Prickett <simon@crudworks.org>
2025-06-13 10:27:08 +02:00
Pepe Cano 98ea0193e4 alerting(ui): update the descriptions of the MQTT Message settings (#106601)
alerting(ui): update the description of the MQTT Message settings
2025-06-13 10:12:11 +02:00
Jean-Philippe Quéméner 3fd8ad8476 fix(folders): only return continue token if more results (#106667) 2025-06-13 09:55:30 +02:00
Josh Hunt 129ec01cd0 FE: Specify public_cdn_path in new index.html (#106662) 2025-06-13 08:28:53 +02:00
github-actions[bot] d205d27f9d Release: update changelog for main (#106684)
* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-06-13 04:08:10 +00:00
github-actions[bot] dc48abebb4 Release: update changelog for main (#106628)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-06-13 03:11:45 +00:00
renovate[bot] 19c8d69419 Update dependency ol-ext to v4.0.32 (#106682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 03:03:48 +00:00
Kevin Minehart c3d791a5c5 CI: Add placeholder target input to release-pr (#106681)
Add placeholder target input to release-pr
2025-06-13 04:27:22 +02:00
Matthew Jacobson 0016b57486 Alerting: Add OAuth2 Support for Webhook Receiver (#106302)
* Add to available channels

* Export

* Fix bug in deeply nested secrets

BE: Slice re-use bug when traversing deeply.

FE: Only at most one level of nesting was being taken into account
when determining secureFields keys. This change adds a new field on
NotificationChannelOption: secureFieldKey. This is populated on API GET via
transform. This change gives us the option to hardcode secureFieldKey in the
backend and no longer calculate the key via settings topology.

* Update grafana/alerting to 3e20fda3b872

* Prettier

* Linting

* Fix IntegrationConfig test to catch secure field mismatch
2025-06-12 23:00:09 +02:00
Stephanie Hingtgen 5135d5c87d Unified storage: Reconstruct index in the background every 24h (#106422) 2025-06-12 14:34:48 -05:00
Paul Marbach 1e41c07920 StateTimeline: Support NaN and null value mappings (#105638)
* fix(#92944): add StateTimeline Null+NaN handling

* chore: remove console.warns from debugging

* test: initialize a couple of simple tests

* test: more tests for hasMappedNaN and hasMappedNull

* chore: revert some of the let-const syntax cleanup for a later PR

* chore: rename should draw method

* chore: fix comment typo

* refactor(timeline-chart-utils): un-nest hasSpecialMappedValue() helper

* test(timeline-chart-utils): unit test hasSpecialMappedValue() helper

* chore: fix code comment typos in changed files

* refactor(timeline-chart): reduce helper DRY-ness for better performance

* fix(timeline-chart): check Y value for truthiness, not if it is finite

* test(state-timeline): additional gdev test panels with null + NN values

* fix(timeline-chart): allow Y value of zero in checks

---------

Co-authored-by: Jesse David Peterson <jesdavpet@users.noreply.github.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-06-12 15:13:25 -04:00
Matias Chomicki 7b70271ce6 New Logs Panel: add syntax highlighting option (#106611) 2025-06-12 20:43:13 +02:00
Fayzal Ghantiwala 85df859589 Alerting: Correctly persist FiredAt in SyncRuleStatePersister (#106658)
Correctly persist FiredAt
2025-06-12 18:07:16 +01:00
Chris Hodges e0d27dc0d7 Dashboard: Add configurable quick ranges for the time picker (#102254)
* Dashboard: Add configurable quick ranges for the time picker

* fix test and linter errors

* update from array to TimeOption

* Switching to grafana-scenes (Part 1 - remove grafana-ui changes

* Update SceneTimePicker initialization

* betterer

* remove hallucinated argument

* Revert "Bump scenes and fix types (#105167)"

This reverts commit c6428dfc74.

* make gen-go

* reset files

* Shorten documentation to increase maintainability

* Update _index.md

* the

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-06-12 17:51:46 +02:00
Jacob Valdez f02ad33fd2 Docs: adding information on adjusting short link expiration time in Grafana cloud (#106112)
* Docs: adding information on adjusting short link expiration time in Grafana cloud

* changing admonition and adding info on changing config for cloud

* adjusting wording

* fixing typo

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-06-12 15:47:13 +00:00
Andreas Christou 45b92f2a98 Partner: Add PRs to project (#106641)
Add PRs to project
2025-06-12 16:43:48 +01:00
Andres Martinez Gotor a3e85d8319 Advisor: Fix issues (#106612) 2025-06-12 15:37:07 +00:00
Isabel Matwawana 8e815159b1 Docs: Update experimental note to include feature flag (#106634) 2025-06-12 10:56:36 -04:00
Christopher Moyer a756a555d3 docs/adds shortcode used in learning journey (#106586) 2025-06-12 10:11:55 -04:00
Stephanie Hingtgen f4e4ba6f19 Library elements: Remove ability to set as "library variable" (#106594) 2025-06-12 08:41:18 -05:00
Matheus Macabu a1f2693fd8 CloudMigrations: Omit autoincremented id for alert snapshots (#106598)
If you tried to migrate alerts from two differente sources/on-prem instances,
the autoincremented numeric id would be the same, and since we were creating
the resource in cloud with that same id (the API accepts it), it would
return an error "conflicting alert rule found" because that id is the primary key on the table.

We simply omit the numeric id now and let the API for the cloud instance generate it.
2025-06-12 15:38:21 +02:00
Alexa Vargas d041ae8e73 Dashboard: Formatting Currency - add new custom 'financial' currency format without abbreviations (#106604)
* Dashboard: ValueFormat - add custom 'financial' currency format without abbreviations

- Add fullCurrency formatter function that displays complete numeric values
- Apply performance suggestions from old PR
- Add unit tests
- Update documentation

* remove unnecesary `true` format support
2025-06-12 15:28:10 +02:00
Jack Westbrook e33ef2885f Chore: Remove rollup-plugin-dts (#106442)
* chore(packages): remove rollup dts plugin

* build(packages): add rollup copy plugin settings to copy ts declarations to esm and cjs builds

* build(packages): remove copy settings as result doesnt pass attw cli checks

* build(packages): use single types output in dist/types directory

* ci(packages): update prepare and validate scripts for single type builds

* fix(grafana-schema): copy raw types to dist/esm directory for grafana/scenes support
2025-06-12 15:25:16 +02:00
Will Browne cf31954f2a Plugins: Add integration test for provisioned plugin dashboard import (#105681)
* add test

* make it fail

* get test work reliably

* get or create db section

* remove unnecessary code

* move test to first

* add comment

* apply PR feedback
2025-06-12 14:24:47 +01:00
Alex Khomenko f9fb9d268f Restore dashboards: Add API client endpoints (#106435)
* Dashboards: Add restore endpoints to the API

* Fix unified api

* Fix resource version

* Add tests

* Update api

* Update type guards

* Update comments

* Add missing type

* Cleanup

* Move spec checking logic to v1 client

* Handle mixed versions in deleted dbs list

* Update tests

* comment

* type
2025-06-12 15:49:55 +03:00
Christian Simon 6156e9c2d8 FlameGraph: Fix bug for function names that conflict with JavaScript object prototype properties (#106338)
* grafana-flamegraph: Fix bug for function names that conflict with JavaScript object prototype properties

The bug occurs in the flamegraph data transformation logic where function names from profiling data are used as object
keys without proper prototype pollution protection.

Fixes #106232 #101551

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

* Fix top table calculations

---------

Co-authored-by: vinayteki95 <vinayteki95@users.noreply.github.com>
Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-06-12 14:41:33 +02:00
Dana Axinte de28231f2f SecretsManager: Add outbox store (#106613)
SecretsManager: add outbox store

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-06-12 13:31:48 +01:00
Matias Chomicki 5a34447ad9 Kinds: check for entries length (#104231) 2025-06-12 14:10:57 +02:00
Hugo Häggmark 3c6da3f241 i18n: removes useTranslate from ESLint rules (#106597)
* i18n: removes useTranslate from eslint rules

* chore: remove some more useTranslate
2025-06-12 13:30:54 +02:00
Alexander Akhmetov e1ce9ceac1 Alerting: Simplify alert rule unique constraint violation errors (#106608)
Alerting: Simplify alert rule storage unique constraint violation errors
2025-06-12 13:27:08 +02:00
Dana Axinte c22b4845bb SecretsManager: Add encrypted value store (#106607)
* SecretsManager: add encrypted value store

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: wiring of encrypted value store

---------

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-06-12 11:52:01 +01:00
Ashley Harrison 0879479c15 Internationalisation: Mark up @grafana/prometheus package (#105861)
* scaffolding for grafana-prometheus i18n

* markup

* extract translations

* fix tests

* add loadResources + fix object properties

* fix typo + prettier

* remove useTranslate

* update workflow to trigger on changes to grafana-sql/grafana-prometheus packages
2025-06-12 11:29:33 +01:00
Andrej Ocenas d284cceb67 Command palette: Don't show dashboard search result from different parent (#106536)
* Don't show result from other parents

* Use global search hook for scopes even inside scopes category

* Remove console.log

* Don't show non leaf scopes in global search
2025-06-12 11:53:04 +02:00
Ashley Harrison 84eafb9a56 Internationalisation: Mark up @grafana/sql package (#105842)
* scaffolding for package

* crowdin scaffolding

* markup

* add translations

* fix locale location

* fix tsconfig?

* undo bundler change

* object tranlsations, expose loadResources and call in mssql

* prettier

* remove useTranslate

* extract translations

* last couple of fixes

* remove deleted files
2025-06-12 10:52:04 +01:00
Tobias Skarhed c42c89d5e4 Scopes: Add support for annotation queries (#106527)
* Add scenes canary

* Bump scenes version

* bump scenes-react

* Add caret to scenes version
2025-06-12 11:49:11 +02:00
Hugo Häggmark 2b8c74de2e i18n: removes useTranslate hook (#106556)
* i18n: removes useTranslate hook

* chore: fix duplicate imports

* chore: fix import sorting and hook dependencies
2025-06-12 11:03:52 +02:00
Andres Martinez Gotor e73530da09 Advisor: Add a check for pinned instances (#106059) 2025-06-12 10:15:40 +02:00
Leon Sorokin 44e7be134d TimeSeries: Fix rendering of sparse points with null gaps at outer edges (#106507) 2025-06-11 15:43:54 -05:00
Stephanie Hingtgen 7864c1660f K8s: Get trash fixes (#106411) 2025-06-11 13:54:38 -05:00
Christian Simon 8fdf86e56f Profiles: Stop passing response headers for Grafana-Pyroscope and parca datasources (#106577)
* Revert "pkgs/tsdb/[grafana-pyroscope-datasource|parca]: Fix use of request headers in responses"

This reverts commit 8bac68e906.

* Profiles: Stop passing request/response headers to the backend
2025-06-11 18:34:21 +01:00
mihaelmiklec 4f127c6dff Docs: Fix missing link for OTEL in Grafana's about page (#106324)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-06-11 14:54:20 +00:00
Kyle Brandt 1be9e60667 SQL Expressions: Exclude CTEs from required Tables (#106479)
Fixes #105030

---------

Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-06-11 10:36:28 -04:00
Ivana Huckova c0e7701ad4 Loki: Fix issue where step parameter using a template variable was marked as invalid (#106541)
* Loki: Step with template variable should be valid

* Fix lint
2025-06-11 16:36:14 +02:00
Josh Hunt fe5e69f731 EchoSrv: Use inline Rudderstack types (#106558)
Use inline Rudderstack types
2025-06-11 15:28:06 +01:00
Ieva 4a520fb221 RBAC: Extend the docs (#106397)
* extend the docs

* Account for CI warning

in

the

Linting

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-06-11 16:06:31 +02:00
Jacob Valdez 3c6146fd95 Docs: Adding clarification for resetting admin password (#106108)
* Docs: Adding clarification for resetting adming password with CLI with external DB

* adjusting bulleted points

* Cutting unneeded wording

* adjusting wording to avoid Grafana being possessive

* Changing Postgres to PostgreSPQL
2025-06-11 09:00:59 -05:00
Ashley Harrison 0d695bba92 Internationalisation: Always initialise a default i18n instance (#106552)
always initialise a default i18n instance
2025-06-11 14:44:06 +01:00
Shubham Nainwal 5d62ec901d VQB: Add selected columns to GROUP BY dropdown (#106349) (#106391)
* feat: add selected columns support to GROUP BY dropdown

* feat(vqb): allow selecting columns in GROUP BY dropdown #106349
2025-06-11 15:04:48 +02:00
Juan Cabanas a26de69058 QueryLibrary: Change codeowner (#106550) 2025-06-11 14:57:09 +02:00
Yunwen Zheng e05e4b9ea5 DatePicker: Add cursor not-allowed style and hover background color (#106451)
* DatePicker add cusor not-allowed style and hover background color
2025-06-11 08:55:47 -04:00
Sergej-Vlasov bc076f27ff DashboardsE2E: Add E2E tests for Auto grid (#106171)
* add auto grid e2e tests

* remove unnecessary clean up in grouping tests

* refaactor repeated code

* Refactor some repeated blocks

---------

Co-authored-by: kay delaney <kay@grafana.com>
2025-06-11 13:36:12 +01:00
Matheus Macabu 5c268c1734 Dependencies: Bump Go to v1.24.4 (#106533) 2025-06-11 14:25:48 +02:00
kay delaney b4e27fb333 Dashboards: Add e2e test for Dashboard Outline (#106491) 2025-06-11 14:18:37 +02:00
grafana-pr-automation[bot] 7e88d8a7c5 I18n: Download translations from Crowdin (#106539)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-11 07:04:52 -05:00
Piotr Jamróz 7adb116852 Tempo: Add a warning message about TraceQL metrics being an experimental feature (#106537)
Add a warning message to the query editor when used with alerting
2025-06-11 14:02:24 +02:00
Yaelle Chaudy 3814882166 Chore: updated codeowners following Grafana Frontend reorg (#106055)
* added new sno team

* Update scopes owners

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-06-11 13:58:41 +02:00
kay delaney 66f79e53e5 Dashboards: Pass id prop to Switch component for bool inputs (#106438) 2025-06-11 12:45:14 +01:00
Alexander Akhmetov eaac4a69fb Alerting: Empty endpoints to manage alertmanager configurations (#106546) 2025-06-11 13:45:02 +02:00
Isabel Matwawana c611021d7d Docs: Update experimental note (#106489) 2025-06-11 06:58:34 -04:00
kay delaney 291f33541d Dashboards: Add ids to auto grid inputs for improved a11y (#106430) 2025-06-11 11:53:30 +01:00
Tito Lins 7688089a57 alerting: stop using rule group idx to calculate alert fingerprint (#106407) 2025-06-11 11:49:45 +02:00
Alexa Vargas 6af09ed763 Dashboard: Schema V2 - Auto-transform V2 dashboards in V1Resource export mode (#105997)
* experiment v2 to v1 in exporting

* refactor code to export to v1 resource

* Add unit test and fix linting

* fix typescript

* fix linting

* handle error gracefully when is not possible to convert to v1
2025-06-11 11:28:13 +02:00
Tania 21297b90fa Chore: Fix feature flags template for docs gen (#106531) 2025-06-11 11:25:35 +02:00
Jack Westbrook 279bdc2636 CI: Use publint to validate npm packages (#106521)
* ci(packages): use publint to validate npm packages are good to publish

* style(validate-npm-packages): remove extra line
2025-06-11 11:05:42 +02:00
Mariell Hoversholm 8d0f911cfe Actions: Propagate exit code in unit tests (#106528) 2025-06-11 10:31:07 +02:00
Victor Ubahakwe f71a2062eb VQB: Allow custom table names in TableSelector (#106420)
* feat(sql): allow custom table names in TableSelector

Restores the ability to enter custom table names not present in the database
by adding `allowCustomValue` to the Select component. This matches previous
functionality where users could manually specify table names not returned
by db.tables().

fixes: #106348

* empty line 45
2025-06-11 10:29:37 +02:00
Konrad Lalik 95efe7a388 Alerting: List V2 - Grouped view filters (#106400)
* Add group and namespace filtering for GMA rules

* Add group and namespace filtering for DMA rules

* Fix view mode handling

* Preserve group and namespace filters when switching views

* update "no rules" logic for Grafana managed rules

* use groupFilter function for filter logic

* Add populateCache docs, tidy up api consts

* Fix imports in tests

* Fix failing import tests

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-06-11 09:51:53 +02:00
Timur Olzhabayev 3fe25d2f1b Chore: Add PR author to slack notifications (#106501)
add PR author
2025-06-11 09:13:58 +02:00
Mihai Doarna 90c80d6738 Teams: Add support for updating externalId field (#106406)
* add support for updating externalId field in teams

* return external_uid in GetTeam()
2025-06-11 10:02:20 +03:00
Mariell Hoversholm 185d1a1530 E2E: Rework the runner (#105712) 2025-06-11 08:43:06 +02:00
Hugo Häggmark fd7b6091a2 i18n: removes unused include in tsconfig.json (#106431) 2025-06-11 06:07:18 +02:00
Andrew Hackmann 826a6a4a79 Prometheus: Deprecation message for Azure auth (#106490)
Add deprecation notice for azure auth in core prom
2025-06-11 00:10:15 +02:00
Jacob Valdez e9b5ed6d4f Docs: Remove the Feature Toggles administration docs page (#106455)
* Docs: Remove the Feature Toggles administration page

* adding alias to remaining feature toggle page to redirect from deleted page
2025-06-10 13:37:28 -05:00
Jev Forsberg 82d271051a Chore: Also add +security branches on release-comms PR (#105689)
* baldm0mma/ add create-security-branch.yml and update release-comms

* baldm0mma/ update target repo

* baldm0mma/ add enterprise

* baldm0mma/ update naming

* baldm0mma/ update descriptions

* baldm0mma/ use go action

* baldm0mma/ add dispatch

* baldm0mma/ update codwowners

* baldm0mma/ remove old oush step

* baldm0mma/ update to pass branch, not version

* baldm0mma/ add create-security-branch script

* baldm0mma/ move script

* baldm0mma/ update codeowners

* Revert "baldm0mma/ update codeowners"

This reverts commit a68531c62e.

* baldm0mma/ add script to codeowners

* baldm0mma/ alphabetize workflows and templates

* baldm0mma/ update script path

* baldm0mma/ add push conditions

* baldm0mma/ remove trigger

* baldm0mma/ update codeowners
2025-06-10 11:45:45 -06:00
Alexa Vargas 4519d79406 Dashboard: Schema V2 - Improve warning when saving v1 dashboard to v2 dashboard (#106492)
* Dashboard: Improve warning when saving v1 to v2 dashboard

* Extract i18n
2025-06-10 19:04:32 +02:00
Sonia Aguilar a4ef05b52b Alerting: Fix ImportToGMARules flaky test (#106495)
* fix ImportToGMARules flacky test

* skip test
2025-06-10 18:42:30 +02:00
Pepe Cano 79ff67268f docs(alerting): Add Tutorials directory page under Best Practices (#106159)
* docs(alerting): Add Tutorials directoy page under Best Practices

* run prettier

* Include latest tutorials

* fix tutorial list
2025-06-10 16:10:20 +00:00
Pepe Cano f76e4f8fda docs(alerting): Import to Grafana-managed rules (#106384)
* docs(alerting): Import to Grafana-managed rules

* apply latest evaluation changes

* Add additional conversion details to How it works section

* fix ref link

* fix Data source input name

* more details about the `Target data source` input
2025-06-10 17:22:48 +02:00
kay delaney 1c6e08fa24 RepeatRowSelect2: Use Combobox instead of deprecated Select component (#106170)
* RepeatRowSelect: Use Combobox instead of deprecated Select component

* Add test (broken)

* Don't disable combobox if repeat is set

* Run i18n-extract

* add mockGetBoundingClientRect to combobox test

---------

Co-authored-by: Sergej-Vlasov <sergej.s.vlasov@gmail.com>
2025-06-10 16:11:20 +01:00
Andres Martinez Gotor 34ef571542 Advisor: Better handling of context cancel (#106470) 2025-06-10 16:53:51 +02:00
Thomas Decaux 1dd3dd24a2 Alerting: Fix eval time unit in list view (#106488)
promRule.evaluationTime is in milliseconds already.
2025-06-10 16:43:41 +02:00
Jean-Philippe Quéméner 1196d66c5e feat(unified-storage): log continue token on error (#106475) 2025-06-10 16:41:39 +02:00
Alexander Akhmetov 1a75787e74 Alerting: Send notifications immediately on Error|NoData -> Normal transitions (#106421) 2025-06-10 16:36:30 +02:00
Josh Hunt cbb828202a FolderPicker: Remove old folder picker (#105374)
* Remove newFolderPicker toggle

* Remove usage of the old folder picker

* fix some tests

* remove old test
2025-06-10 16:01:48 +02:00
Jack Westbrook 7e6eefc8cd Grafana UI: Replace barrel files with explicit exports (#106168)
* refactor(grafana-ui): move all exports from components barrel file to entry point

* refactor(grafana-ui): move all exports from types barrel file to entry point

* refactor(grafana-ui): explict exports for utils

* refactor(grafana-ui): move themes to explicit exports

* refactor(grafana-ui): use explicit exports for options, slate-plugins and schema

* fix(grafana-ui): put back missing components

* chore(grafana-ui): delete first level barrel files

* refactor(grafana-ui): update all internal barrel file imports

* refactor(grafana-ui): start fixing storybook mdx files

* style(grafana-ui): fix linting issues, update betterer result

* chore(grafana-ui): delete nested component barrel files

* refactor(grafana-ui): update imports to use non-barrel files

* refactor(grafana-ui): update imports to non-barrel files for story and test

* fix(grafana-ui): put back missing FileListItem component and types

* refactor(grafana-ui): update mdx to use direct imports

* fix(grafana-ui): align exports with grafana 12
2025-06-10 15:51:53 +02:00
Ashley Harrison 0bdcb4d080 Internationalisation: Properly expose i18n lint rule (#106436)
* properlty expose lint rule

* don't need types

* use rollup plugin copy

* fix dist path
2025-06-10 14:45:34 +01:00
Jean-Philippe Quéméner 1a216a8fff feat(unified-storage): use logger from context for dualwriter (#106473) 2025-06-10 15:33:14 +02:00
Matheus Macabu ed1da3456c Docs: Remove public preview card from cloud migration audit logging section (#106472) 2025-06-10 15:00:25 +02:00
Mariell Hoversholm b823437958 Crypto: Use crypto/pbkdf2 instead of x (#106474) 2025-06-10 14:48:44 +02:00
alerting-team[bot] aace7c5c38 Alerting: Update alerting module to 02235095d0180efe31070f8d8dccabcad5c7f874 (#106425)
[create-pull-request] automated change

Co-authored-by: alexander-akhmetov <1875873+alexander-akhmetov@users.noreply.github.com>
2025-06-10 14:38:50 +02:00
Ashley Harrison 47db35fd49 Internationalisation: Use the reusable workflows from grafana-github-actions (#106465)
use the reusable workflows from grafana-github-actions
2025-06-10 13:33:54 +01:00
Sonia Aguilar 8c54bba8d3 Alerting: Add details to the payload when tracking import to GMA (#106404)
add details to the payload when tracking import to GMA
2025-06-10 14:28:10 +02:00
Stephanie Hingtgen ed5104a6c6 K8s: Only register internal kind once (#106239) 2025-06-10 05:09:12 -06:00
ismail simsek 1afaa4b929 Update datasource/Loki label addToProject command (#106467) 2025-06-10 13:05:12 +02:00
kay delaney 2c977bb77d Dashboards: Add hover effect to outline splitter drag handle (#106443) 2025-06-10 11:36:07 +01:00
Ashley Harrison 9655dc6ab6 Carousel: Always center image (#106468)
always center image
2025-06-10 11:29:39 +01:00
xavi 010fd4240f [IAM] Docs: Add permission behaviour when user belongs to multiple teams (#106429) 2025-06-10 12:17:05 +02:00
Torkel Ödegaard 1564e1bac9 URLParams: Stringify true values as key=true always (fixes issues with variables with true value) (#106440)
* Restore prev fix

* added one more test

* Fix linkUrl issue
2025-06-10 12:08:08 +02:00
Matias Chomicki db83b4ef17 New Logs Panel: font size selector and Log Details size improvments (#106376)
* LogList: create font size option

* LogList: prevent option fontSize bouncing

* LogListContext: fix stored container size bigger than container

* LogList: render smaller font size

* virtualization: adjust to variable font size

* virtualization: strip white characters of at the start successive long lines

* LogList: add font size to log size cache

* LogList: use getters instead of fixed constants

* LogLine: prevent unnecessary overflow calls

* virtualization: strip ansi color codes before measuring

* LogListDetails: adjust size on resize and give logs panel a min width

* LogsPanel: add showControls as a dashboard option

* virtualization: update test

* virtualization: add small test case

* processing: update font size

* LogListControls: update test

* Extract translations

* Logs Panel: enable controls by default

* LogListContext: update mock

* ControlledLogRows: add missing prop

* LogLine: remove height ref

* LogList: dont touch the debounced function on successive calls

* LogLine: update test

* LogsPanel: make controls default to false again

* LogsPanel: make controls default to false again

* LogLineDetails: fix height resizing and make close button sticky

* LogLine: memo log component

* LogLineDetails: fix close button position

* New Logs Panel: Add Popover Menu support (#106394)

* LogList: add popover menu support

* LogList: test popover menu

* Chore: remove unnecessary optional chain op

* LogLinedDetails: fix close button position with and without scroll
2025-06-10 09:59:01 +00:00
Alexander Akhmetov 7c3f7b9e8b Alerting: Use default_datasource_uid as the default target for recording rules in UI (#106415)
* Alerting: Use default_datasource_uid as the default target for recording rules

* Add tests

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-10 11:58:42 +02:00
kay delaney a29e24c5b4 Dashboards: Add ids to DataLinkEditor inputs (#106433) 2025-06-10 10:49:14 +01:00
Alexander Akhmetov a4fa8ab891 Alerting: Empty endpoint to load alertmanager config with mimirtool (#106266) 2025-06-10 11:35:57 +02:00
grafana-pr-automation[bot] 0da0fb5af1 I18n: Download translations from Crowdin (#106460)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-10 11:12:49 +02:00
Alexander Akhmetov f14ed750f5 Alerting: Add feature toggle for Alertmanager import config API (#106424) 2025-06-10 10:32:50 +02:00
Andrej Ocenas 1aaf8adee4 Scopes: Global scopes search in command palette (#105597)
* Add pills in search bar for context

* Add scope actions

* Add selection functionality

* Show selected scope on secondary row

* Fix selected scope titles

* Add some basic tests

* Test for toggle by name

* Remove unnecessary mocking

* Small cleanups

* Lint fixes

* Fix test

* Update public/app/features/scopes/selector/ScopesSelectorService.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Bump input and breadcrumbs test

* Change breadcrumbs color

* Makes the breacrumb spacing consistent

* Add basic global search

* Change scope selector data structures

* Fix scope selector functionality

* Fix errors in selector and cmdk actions

* Fix cmdk actions

* Fix global search in cmdk

* Fix some merge edits

* merge diffs

* Small merge fixes

* Fix ScopesSelectorService.test.ts

* Fix tests

* Remove unrelated lint fixes

* Move ScopesTreeItemList.tsx into separate file

* Simplify if condition

* Use node.title in the scopesRow

* Use better dependency array for actions

* Make recentScopes more robust

* Fix beterrer

* Update betterer file

* Add test for changeScopes early return

* Fix input tooltip title access

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2025-06-10 10:21:43 +02:00
Ivana Huckova 6c9fd45837 Update CODEOWNERS of Loki data source to @grafana/oss-big-tent (#106444)
Update CODEOWNERS
2025-06-10 10:14:58 +02:00
Sven Grossmann 33a9a9313d DashboardLayout: Only use edit actions with dashboardNewLayouts feature toggle (#106445) 2025-06-10 09:22:06 +02:00
Adela Almasan ff5d06734a Docs: Update actions with variables (#106269) 2025-06-09 21:01:15 +00:00
Christopher Moyer 704743200b Docs: adds LJ shortcode (#106450)
adds LJ shortcode
2025-06-09 14:42:55 -05:00
Scott Lepper 729ce0e2ba Dashboards - E2E - remove unnecessary steps (#106439) 2025-06-09 15:10:52 -04:00
Matias Chomicki 7ee6b24872 KeybindingSet: fix missing item type (#106428)
* KeybindingSet: fix missing item type

* KeybindingSet: pass default value to bind call
2025-06-09 19:08:52 +02:00
Scott Lepper 08168a33e9 Group by variable e2e (#106176)
Dashboards - E2E - Group By Variable in Edit Pane
2025-06-09 12:28:30 -04:00
Yunwen Zheng 1da8c9bd18 ProvisioningWizard: Refactor step status management into context provider (#106110)
* ProvisioningWizard: move stepper info to context propvider
2025-06-09 11:35:14 -04:00
Kevin Minehart 7ebb5bea87 CI: Add zizmore ignore for grafana vale image (#106437)
Add zizmore ignore for grafana vale image
2025-06-09 15:09:21 +02:00
kay delaney ec0926eabb Dashboards: Tweak DashboardEditableElement settings button (#106329)
Adds ability to specify icon placement on Button component
2025-06-09 12:27:37 +01:00
kay delaney d59f9599b6 UI: Add id to splitter primaryProps (#106408) 2025-06-09 10:12:38 +00:00
Vadim Stepanov 1df888c517 Alerting: Provisioning API returns 403 on quota exceeded for rule group PUT (#106409) 2025-06-09 11:12:22 +01:00
kay delaney 5a13fccd62 UI/Combobox: Remove unnecessary div wrapper (#106323) 2025-06-09 11:11:42 +01:00
antonio 1016612729 Part 3 update (#106427)
* alerting: grouping tuturial --update

* prettyfied

* typo

* typo
2025-06-09 10:00:56 +00:00
Christian Simon 549511597c Datasource: grafana-pyroscope-datasource/parca: Fix the passing of response headers (#106293)
pkgs/tsdb/[grafana-pyroscope-datasource|parca]: Fix use of request headers in responses

In the parca and the grafana-pyroscope-datasource we were wrongly using the request headers instead of the response
header when communication the results to the backend.

This PR fixes this bug.

Was reported by an user via community slack, who faced issues, with a request header of `content-length: 0` being
inserted by a intermediate proxy.
2025-06-09 09:43:34 +00:00
Matheus Macabu 90c4868c8c CloudMigrations: Add test case for invalid permissions to fetch contact points (#106143) 2025-06-09 09:49:46 +02:00
Alexander Akhmetov 3bb4c92028 Alerting: Fix resolved notifications for same-label Error to Normal transitions (#106210)
What is this feature?

Ensures that resolved notifications are sent when alert states transition from Error to Normal after the configured number of evaluation intervals: Missing series evaluations to resolve.

Why do we need this feature?

Before this change, when an alert was transitioning from Error to Normal, in case when the labels on the new Normal alert instance are the same, Grafana would not send resolved notifications for the Error alert state. The alert would be resolved after a few evaluation intervals automatically in the alertmanager, following the endsAt.

With this change the resolved notification is sent after the configured number of evaluation intervals: Missing series evaluations to resolve.
2025-06-07 14:03:11 +02:00
grafana-pr-automation[bot] a7368e004b I18n: Download translations from Crowdin (#106416)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-07 02:35:45 +02:00
Pepe Cano 0d0aa35ba7 docs(alerting): add a short new guideline for handling NoData scenarios. (#106412)
docs(alerting): add consideration for handling NoData scenarios
2025-06-06 21:19:21 +02:00
Chris Marchbanks 84fa79f8fd Alerting: Fix incorrect "not" wording for active timings (#106355)
The help text for active timings on an alert was confusing, indicating that the time range would cause the alert not to
notify, when it actually works as the only time the alert would notify.
2025-06-06 16:33:13 +02:00
colin-stuart 34b6d51016 SCIM: Update Provisioned User's Role using SAML Assertion (#106374)
* SCIM: fix provisioned user role assignment from SAML assertion

* revert org_sync_test changes

* clean up tests

* skip user lookup during org sync

* sanitize log output

* only log non-sensitive fields
2025-06-06 10:09:51 -04:00
alerting-team[bot] db21e9e4bc Alerting: Update alerting module to 6bf6277b5b8d080f5b400b87b2fbce6c9d66cfe4 (#106373)
* [create-pull-request] automated change
* update prometheus alertmanager to 20250604130045-92c8f6389b36

---------

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-06-06 09:48:08 -04:00
kay delaney 1d69c8558d grafana-data: Fix error when field values are null (#106375)
* grafana-data: Fix error when field values are null

* Slightly terser

* update frame test to have falsy value that should be kept
remove null string output from null value test

* handle falsy frame values as non-null

---------

Co-authored-by: samsch <git@samsch.org>
2025-06-06 14:41:09 +01:00
Steve Simpson f81031f945 Alerting: Add placeholder feature toggle for enrichment. (#106399) 2025-06-06 14:16:07 +02:00
Sonia Aguilar 32336d5249 Alerting: Filter out synthetic datasource-managed rules when importing to GMA (#106358)
* filter out synthetic datasource-managed rules when importing to GMA through the UI

* address pr feedback
2025-06-06 12:33:45 +02:00
Alexander Akhmetov f7a52bc04e Alerting: Fix group-level labels and query_offset in the import API (#106379)
What is this feature?

Fixes a bug when group-level query_offset and labels parameters are ignored and not saved

Why do we need this feature?

In the import API Prometheus YAML rule definitions are supported:

groups:
  - name: group-1
    interval: 1m
    query_offset: 10m
    labels:
      severity: "warning"
    rules:
      - alert: Alert 0 > 0
        expr: vector(0) > 0

But applying group-level labels and query_offset is broken and they are not saved right now because during the conversion of the API model to PrometheusRuleGroup they aren't saved to the new structure.
2025-06-06 11:21:39 +02:00
Sonia Aguilar 10fb03f97a Alerting: Add need more info for import ui datasource field (#106364)
* add need more info for import ui datasource field

* fix test and update translations
2025-06-06 10:01:55 +02:00
Christian Simon 30dc3a3ce4 Datasource/grafana-pyroscope: Do healthcheck on a window without data (#106312)
This will makes the healthcheck cheaper to anwser, as we would not expect data at this time window.

Fixes #106311
2025-06-06 08:29:31 +01:00
grafana-pr-automation[bot] 98e4ec2e9e I18n: Download translations from Crowdin (#106387)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-06 02:34:22 +02:00
Alexander Zobnin aa92dc860b Zanzana: Improve server side error handling (#106378)
* Zanzana: Split client and server logs

* Zanzana: Improve error handling and logging

* log internal error at the server side

* refactor

* improve errors for list request

* update go modules

* handle errors for read and write

* refactor

* reset go.mod changes
2025-06-05 22:11:26 +02:00
Gilles De Mey 3d9989a04a Alerting: Update test timeout (#106377)
update test timeout
2025-06-05 15:46:31 +00:00
Mariell Hoversholm 5fda907c67 Actions: Enterprise owns Ephemeral Instances (#106367) 2025-06-05 17:32:21 +02:00
Sven Grossmann 3bf68422fa Chore: Remove id-token: write from workflow level (#106359) 2025-06-05 17:31:49 +02:00
renovate[bot] 1992f8d955 Update dependency webpack-dev-server to v5.2.1 [SECURITY] (#106372)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 15:08:18 +00:00
kay delaney c30765bbea Dashboards: A11y improvements for edit experience (#106321)
* Dashboards: A11y improvements for edit experience

* Pass descriptor to render function
2025-06-05 16:15:31 +02:00
Vadim Stepanov 5137995830 Alerting: Add support for Redis Sentinel for Alerting HA (#106322)
* Alerting: Add support for Redis Sentinel

* docs

* docs

* Use minisentinel in test

* Apply suggestions from code review

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
Co-authored-by: Fayzal Ghantiwala <114010985+fayzal-g@users.noreply.github.com>

* "address(es)" -> "address or addresses"

* make update-workspace

* make lint-go-diff

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
Co-authored-by: Fayzal Ghantiwala <114010985+fayzal-g@users.noreply.github.com>
2025-06-05 15:02:40 +01:00
Moustafa Baiou 941162ca79 Alerting: Optimize prometheus api permission checks (#106299)
* Alerting: Optimize prometheus api permission checks

This improves the performance of the Prometheus API by performing the permission checks for rule read permission in a folder upfront, rather than checking permissions for each rule group individually. This reduces the number of permission checks and should speed up the API response time.

* refactor vars

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-06-05 09:43:06 -04:00
kay delaney 6fd66dd690 VersionHistoryTable: Fix overflow issue with long notes (#106284) 2025-06-05 14:41:43 +01:00
Alexander Akhmetov 82549ea8b3 Alerting: Add state label to prometheus_imported_rules metric (#106365) 2025-06-05 14:24:48 +02:00
Mihai Doarna 7e0ec00905 Auth: Remove apikeys related components from frontend (#106061)
* remove apikeys related pages from frontend

* remove translations

* remove navBar titles

* revert translations for non-english files
2025-06-05 15:17:19 +03:00
Torkel Ödegaard e7103dc1f5 Dashboard: Fixes issue with dashboard links that include all variables (#106356)
Revert "URLParams: Stringify true values as key=true always (#97346)"

This reverts commit 437f3ff936.
2025-06-05 14:11:14 +02:00
antonio 1bbb751bcf Alerting pt6 update (#106318)
* update alerting tutorial part 6

* allprettynopity

* applied suggestions
2025-06-05 10:11:45 +00:00
Alexander Akhmetov da88e5912f Alerting: Evaluate all imported from Prometheus rules sequentially (#106295)
What is this feature?

Makes all alert rules imported from a Prometheus YAML or Prometheus-compatible data source evaluate sequentially.

Why do we need this feature?

Currently only alert rules [imported via the API](https://grafana.com/docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/alerting-migration/migration-api/) are evaluated sequentially, because only they have the original alert rule definition in YAML. But alert rules can be imported [in the UI, and from a YAML file](https://grafana.com/docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/alerting-migration/), and they won't be evaluated sequentially which can lead to issues with recording rules.
2025-06-05 12:08:44 +02:00
Andreas Christou e4c9d10bfb Azure: Improved identification of Application Insights resouces (#106281)
Compare namespace to lowercase URL
2025-06-05 11:03:34 +01:00
kay delaney e47e04a1ca TimePickerFooter: Fix background (#106209) 2025-06-05 10:44:42 +01:00
kay delaney e8d6b94120 Dashboards: Tweak undo/redo tooltips for a11y clarity (#106325) 2025-06-05 11:32:28 +02:00
Ieva d7a4f497bc Folders: Correctly resolve nested folder breadcrumbs (#106344)
correctly use UID scope instead of ID based scope
2025-06-05 10:02:07 +01:00
linoman 9717d04039 SCIM: Add IDP specific SAML configuration (#106327)
* Add assertion_attrbiute_external_uid definition

* Add Okta specific configuration

* Add Azure AD configuration

* Expand definition and reference idp specific configuration
2025-06-05 10:50:28 +02:00
grafana-pr-automation[bot] 1c2bec7bd7 I18n: Download translations from Crowdin (#106354)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-05 02:34:18 +02:00
Pepe Cano afdf1441f7 docs(alerting): Migration API format enhancements (#106317)
* docs(alerting): Migration API format enhancements

* fix canonical URL

* small command change

* More changes
2025-06-05 00:55:31 +02:00
Pepe Cano be8d153dc3 docs(alerting): updates Missing series evaluations to resolve option (#106319)
docs(alerting): correct detailed process of the missingSeriesToEval option
2025-06-05 00:05:22 +02:00
Yuri Tseretyan 33298550b4 Update Alerting module (#106272)
* set kind in TemplateDefinition
2025-06-04 16:05:05 -04:00
renovate[bot] 184d0ef72f Update dependency @prometheus-io/lezer-promql to v0.304.1 (#106332)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 20:55:52 +02:00
Gilles De Mey 8dcb8ba4ec Alerting: Remove unused file (#106320) 2025-06-04 17:34:20 +02:00
renovate[bot] 4e3e774dad Update dependency @floating-ui/react to v0.27.12 (#106307)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 10:25:23 -04:00
Mihai Doarna d57d184d20 Auth: Remove api key endpoints (#106019)
* remove api key endpoints

* generate openapi specs

* remove methods from mock service

* remove ApiKeyDTO

* generate openapi specs

* remove apikey migration endpoints

* remove unused function
2025-06-04 17:03:06 +03:00
Sonia Aguilar e78da0cc39 Alerting: Add loading spinner for loading groups state (#106289)
Add loading spinner for loading groups state
2025-06-04 15:51:11 +02:00
renovate[bot] 7f63b18e82 Update scenes to v6.18.1 (#106316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-04 11:39:02 +00:00
Konrad Lalik 7d5a26a4e7 Alerting: List V2 - Improve error handling (#106282)
* Add error badge to the DataSourceSection component

* Fix lint

* Update translations

* Fix error propagation from featureDiscoveryApi

* Pass errors to GMA loader
2025-06-04 13:36:28 +02:00
Gilles De Mey 1837f32d76 Alerting: Fix insights regression with latest TableNG (#106020) 2025-06-04 13:10:38 +02:00
Carl Bergquist f46514c77b license check: add exceptions for grafanas own workspaces (#106291)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-06-04 12:25:40 +02:00
Moustafa Baiou 0ce086bd2e Alerting: Ensure errors cleared when Alerting after error (#105246)
When a rule configured with `ExecErrState` state of `Alerting`, has an instance which is Alerting then has a data source error, then successfully evaluates and continues to be Alerting, the cached instance keeps the error cached until it is no longer firing.

This is unexpected and leads to misleading results.
2025-06-04 12:16:14 +02:00
Kevin Minehart 5bfcbc1f47 CI: Temporarily disable --verify in nightly release (#106313)
Temporarily disable --verify in nightly release
2025-06-04 12:04:59 +02:00
kay delaney edf5f9fc7c Dashboards: Improve a11y for dashboard title/description inputs (#106294) 2025-06-04 10:58:11 +01:00
Torkel Ödegaard 1b9d062583 DashboardReload: Refactor / move state diffing out of DashboardPageStateManager and into reload behavior, simplify (#106039)
* DashboardReload refactor

* Update

* revert accidental commit

* fix

* merge fix

* fix cache issue

* Update scenes

* Update

* Update

* revert debug

* Update scenes

* Update tests

* add back reload on activation, fix infinite reload bug

* Update prevState

* Remove time range subscription

* restore iso time format

* Update scenes

* Mock console for reload tests (for now)

* Only update scopes from URL when scopes in URL change

* fix equality check inside ScopesSelectorService

* branch fix drone

* Update

* revert drone verbosity

* Update scenes

---------

Co-authored-by: Victor Marin <victor.marin@grafana.com>
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-06-04 11:29:25 +02:00
Misi f34d372bd3 Auth: Enable ssoSettingsLDAP by default (#106310) 2025-06-04 10:47:47 +02:00
Kevin Minehart a2b0e20a8e CI: Use sh in daggerbuild scripts instead of bash (#106306)
Use sh in daggerbuild scripts
2025-06-04 10:15:37 +02:00
Edvard Falkskär a0c55e92ee LogsView: Resource attributes links extension point (#105943)
* LogsView: Resource attributes links extension point

* Mocking usePluginLinks in tests

* Update link button styling

* LogListModel: sync with LogRowModel changes

* Fix import

---------

Co-authored-by: Matias Chomicki <matyax@gmail.com>
2025-06-04 09:55:08 +02:00
andrewthomas92 219461a58d Removes Feature Management Section (#105766)
Update _index.md

Feature Toggles page has been removed. 

Recommending to remove this from our docs
2025-06-04 02:38:08 -05:00
grafana-pr-automation[bot] d12afe4daa I18n: Download translations from Crowdin (#106303)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-06-04 02:30:56 +02:00
Tiffany Hrabusa a09df33522 [docs] Update broken links in SCIM provisioning documentation (#106298)
Update broken links

Signed-off-by: Tiffany Hrabusa <tiffany.hrabusa@grafana.com>
2025-06-03 12:51:39 -07:00
Cory Forseth 40164cb09e Authorization: Fix/provisioned permission display (#106179)
* add isProvisioned flag to permission DTO

* handle provisioned permissions explicitly

* lint

* swagger

* simplify logic to always show non-managed permissions first; remove unnecessary isProvisioned

* fix docs

* oops

* actually just generate the docs
2025-06-03 11:21:42 -05:00
Pepe Cano f36d5c5206 docs(alerting): new notification template example: link to a dashboard with time range (#106254)
* docs(alerting): new notification template example: link to a dashboard with time range

* remind configuring the `MyDashboardURL` annotation

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

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-06-03 17:16:43 +02:00
Carl Bergquist 9a8555dead Build: Adds a license check task in the makefile (#106285)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-06-03 16:55:29 +02:00
Matt Cowley 7957a9605c GrafanaUI: expose story for ClipboardButton (#106216) 2025-06-03 10:34:07 -04:00
kay delaney d9ccd879ec DashboardOutline: Improve markup semantics (#106008) 2025-06-03 15:23:18 +01:00
Pepe Cano cce28ec351 docs(alerting): updates link to outdated tutorial (#106178)
* docs(alerting): remove admonition to an outdated tutorial

* amended note and link to new tutorial

* link

* minor copy changes

* run prettier

* update copy

---------

Co-authored-by: tonypowa <tonypowa@gmail.com>
2025-06-03 14:20:24 +00:00
Johnny Kartheiser de0c639417 Alerting docs: document Prometheus YAML import tool update (#106219)
* Alerting docs: document ability to import rules to GMA from Prometheus YAML

documentation for prom YAML import feature.
- took out reference that said users can't import prometheus rules in the tool.
- added the More > Import alert rules UI path to the tool
- added a step for the YAML file upload button.

* 💅prettier

* Update _index.md
2025-06-03 09:20:02 -05:00
beejeebus 6a0cf22b53 Revert "Postgres: Switch the datasource plugin from lib/pq to pgx (#103961)" (#106270)
This reverts commit 1e383b0c1e.
2025-06-03 08:45:07 -04:00
Sonia Aguilar 5386b8ab09 Alerting: Add export folder action to the new list view (#106256)
* Add export folder action to the new list view

* merge folder actions in one more button

* fix checking permissions

* remove commented code

* early return when no bulkactions are allowed

* fix css width

* address review comments

* move BulkActions component outside the parent component

* remove unnecessary check

* bring back accidentally removed code

* remove duplicated modal
2025-06-03 14:43:01 +02:00
Scott Lepper 8b262046e0 legacy annotation query - handle undefined scenarios without crashing (#106275)
legacy annotation query - handle undefined scenario
2025-06-03 08:33:36 -04:00
Scott Lepper 7e271796c1 Adhoc variable export (#106274)
templatize adhoc variables when exporting externally
2025-06-03 08:30:01 -04:00
Torkel Ödegaard 3c6a9da3cb DashboardScene: Edit actions , undo/redo and repeat change detection (#104160)
* AutoGrid: Panel editor editingCompleted call

* editing started as well

* DashboardScene: Quick poc for undo/redo and repeat change detection

* undo redo working

* Update

* Update

* Update

* update

* Update

* Update

* Update

* Update

* Update

* Update

* Add panel title and description support

* Add comment

* Update

* review updates

* Update

* Update

* Update

* Update translations

* Update

* fix

* Update

* fix test that is pretty bad/broken

* Fix translation keys
2025-06-03 14:13:17 +02:00
antonio 3cad6cf880 docs/tutorials:alerting-tutorial-pt6 (#106155)
* docs/tutorials:alerting-tutorial-pt1

* vale

* vale2

* vale3

* final review

* meta

* refactor

* refactor2

* meta

* vale

* all pretty no pity

* all done

* added note on dash url

* note on url template

* note on url template2

* pretty
2025-06-03 11:12:50 +02:00
Konrad Lalik 157ddd467a Alerting: Fix history tab visibility condition (#106262)
* Improve rule type discovery in the RuleViewer component

* Fix lint errors
2025-06-03 09:44:08 +02:00
xavi 86f2bf2940 IAM: Skip token rotation if it has been rotated recently (#106075) 2025-06-03 08:59:40 +02:00
xavi 439b8c01b3 Remove Python CodeQL check (#106259) 2025-06-02 20:17:20 +02:00
Alexander Zobnin cb05eb3cd6 RBAC: Return bad request when header is malformed (#105448) 2025-06-02 16:31:15 +02:00
Edvard Falkskär 0e4f06d452 TraceView: Resource attributes links extension point (#104680)
* TraceView: Resource attributes links extension point

* Add data source info to context

* Remove console log

* Removing unused linkGetters and more

* More tests

* Fixing last todos

* Fixing

* Fixing

* Change link style

* Rename extension context

* Fix lint error
2025-06-02 16:38:25 +03:00
Jeroen Op 't Eynde eff86c6684 docs: remove deprecation notice on Grafonnet (#106257) 2025-06-02 14:39:15 +02:00
Alexander Akhmetov 6ff67722b8 Alerting: Include rules imported in the UI into prometheus_imported_rules metric (#106229) 2025-06-02 12:47:09 +02:00
xavi 31a9ddc47a IAM: Run user creation inside transaction (#106113) 2025-06-02 11:29:57 +02:00
linoman 374bd5bec7 SCIM: Change SCIM hook registration (#106200)
* Add function to skip provisioning hook

* Rework provisioning hook to PostLoginHook

* Revert back to PostAuthHook and remove unused tests

* Fix tests
2025-06-02 11:04:14 +02:00
Alexander Akhmetov e256f2d5e2 Alerting: Enable recording rules by default (#105603) 2025-06-02 10:56:05 +02:00
Alexander Akhmetov 4cde79e802 Alerting: Clean up join errors code (#106243) 2025-06-02 10:30:04 +02:00
Denis Vodopianov 5fb6025dde Chore: Batch update changelog.md in main branch (#106051) 2025-06-02 09:23:27 +02:00
Tobias Skarhed f3d725f400 Devenv: Add requirements.txt and versions + hashes to collectd Dockerfile (#106175)
* Add requirements.txt and version+hashes

* Update docker image
2025-06-02 09:07:18 +02:00
Tobias Skarhed c25b0f053c Devenv: Remove graphite 0.9 (#106167)
* Add trailing slash

* Remove graphite09 from devenv

* Remove directory from codeowners and modify CodeQL workflow

* Fix shell script
2025-06-02 09:06:48 +02:00
Mihai Doarna 6ab9c8bf57 Auth: Remove code for authenticating API keys (#105998)
* remove auth for plain API keys

* move condition to validateApiKey()

* fix typo

* remove GetApiKeyById() method
2025-06-02 09:54:10 +03:00
Matias Chomicki b3596e8c72 New Logs Panel: Render new panel using the current visualization (#105968)
* LogsPanel: integrate new panel via feature flag

* Log Line: move sampled/errors/deduplication count outside of log line body

* LogList: increase overscan count

* Logs Panel: enable deduplication for infinite scrolling

* Logs Panel: remove margin overflowing drilldown

* Logs Panel: add missing dependency to effect

* Logs Panel: pass missing callback

* Remove console log

* LogLine: show cursor pointer only when interactable

* LogLineDetails: make resize handler more obvious

* LogsPanel: add missing props to from panel

* LogLineMenu: add support for custom items

* LogsPanel: pass custom menu items to LogList

* Fix imports

* Chore: comments and missing argument

* LogLineMenu: pass log to event listener

* LogListContext: filter log details when no longer present in the new response

* chore: log

* LogsPanel: conditionally show options per feature flag status

* LogLine: align logs when some of them are sampled or with errors

* Chore: update tests

* LogLineMenu: test custom options

* LogsSamplePanel: show controls

* LogsPanel: move return after hooks to prevent bugs
2025-06-01 14:29:49 +02:00
Ieva 5b4d188638 RBAC: Clear up the basic role definitions (#106214)
clear up the basic role definitions
2025-05-30 10:41:11 +01:00
maicon 6fb0ed9886 Bump tempo to 20250529124718-87c2dc380cec (#106220)
* Bump tempo to 20250529124718-87c2dc380cec

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

* Add owners to pkg/build

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

* update workspace

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

* update pkg/build/go.sum

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

* update pkg/build/go.sum

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-29 23:43:13 -05:00
grafana-pr-automation[bot] 91f6336840 I18n: Download translations from Crowdin (#106230)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-30 02:30:37 +02:00
Adam Simpson 729f0a6ba5 ds-querier: handle downstream 500s (#105890)
* ds-querier: add new metric for the total request

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* fix logger and trace

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>

* ds-querier: rewrite downstream 500s to 400

---------

Co-authored-by: Sarah Zinger <sarah.zinger@grafana.com>
2025-05-29 17:30:45 -04:00
Alexander Akhmetov eae77aa695 Alerting: Resend alerts for states that are missing in the eval results (#105965)
What is this feature?

This PR fixes the MissingSeriesEvalsToResolve behavior when it's set to more than 4 evaluation intervals.

Why do we need this feature?

The MissingSeriesEvalsToResolve setting was not working correctly due to alerts being auto-resolved by Alertmanager after 4 evaluation intervals (via the endsAt field).

Before we had deleteStaleStatesFromCache method that was returning only stale states that had to be resolved. Non-stale states for which the current evaluation does not have a series never had endsAt updated and were never resend to the Alertmanager, so they were automatically resolved after 4 evaluations regardless of the setting.

The new processMissingSeriesStates returns state for each missing series on every evaluation, and resolves the stale ones. This guarantees that alerts without series still alert for the configured number of evaluations.
2025-05-29 23:22:35 +02:00
Drew Slobodnjak 0a104cc0ed Geomap: Add HiDPI support to CARTO basemap (#81195) (#106211)
Co-authored-by: Cledwyn Lew <me@trangle.top>
2025-05-29 12:09:41 -07:00
Ashley Harrison 4ac248a512 Internationalisation: Mark up panel plugins for translations (#106068)
* config for panel plugin translations

* markup

* tweaks

* prettier

* use data-testid

* rename disable rule now it's been moved

* final markup
2025-05-29 18:13:25 +01:00
Pepe Cano e1400e67d3 docs(alerting): document Keep firing for in Alert rule evaluation intro (#106139) 2025-05-29 18:24:26 +02:00
Pepe Cano b2d317cc23 docs(alerting): add notes for Redis HA setup (#106144)
* docs(alerting): add note for Redis HA setup

* run prettier
2025-05-29 11:21:32 -05:00
David Kim (DK) 939f2c9828 Navigation: Add the new badge to the SLO reports nav item (#105707)
* attempt to add slo reports badge

* fix build

* add new badge for reports for subitem in grafana-slo-app
2025-05-29 16:37:14 +01:00
Sarah Zinger 020780f5ac DS-querier: define func to fetch instance config settings (#106172)
DS-querier: define func to fetch instance config settings to be passed into executing query
2025-05-29 11:07:40 -04:00
Eric Leijonmarck 69653ea3dc Zanzana: Adds running migrations from openfga w. RunMigrations() (#105691) 2025-05-29 15:54:12 +01:00
kay delaney 8dcd66e0e6 Layouts: Ensure layout action buttons aren't greyed out when using keyboard nav (#106203)
* Layouts: Ensure layout action buttons aren't greyed out when using keyboard nav

* Lint
2025-05-29 15:45:42 +01:00
Tom Ratcliffe abb885c585 I18n: Move eslint rule to package (#105860) 2025-05-29 16:11:59 +02:00
Scott Lepper 1de0cd5d68 Dashboard group by variable edit pane (#106104)
* Dashboards: Group By Variable in edit pane
2025-05-29 09:44:37 -04:00
Sonia Aguilar 80c47a64b1 Alerting: Add ability to import rules to GMA from Prometheus YAML (#105807)
* re-organize folders regarding import feature

* Revert folder changes

* Add Yaml import input fields

* Set recording rules target if empty

* wip

* Convert YAML content to RulerRulesConfigDTO and use this for the import payload

* fixing some issues

* wip

* add tracking

* use yaml filename for namespace in case is not specified in the yaml content

* refactor

* add alertingImportYAMLUI ff check for yaml option

* Add test for parseYamlToRulerRulesConfigDTO

* move import feature to the More menu at the top

* add test for filterRulerRulesConfig, and fix the function

* extract parseYamlToRulerRulesConfigDTO to a separate file

* Add permission check for the import button

* Change data flow in import form, add basic tests for the import form

* remove commented code

* Add yaml import form test

* Add more tests

* Tidy up, remove type assertions in yaml converter

* Improve yaml file validation in the form

* Fix lint issues

* Fix lint

* use only Admin role for checking if the feature is available for the user

* Fix parsing recording rules

* Fix file re-selection in YAML import

* prettier

* refactor

* Remove FileReader, add more explanation to file upload reset

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-05-29 15:12:24 +02:00
kay delaney 3b78078ea4 DashboardLayoutOrchestrator: Refine drag drop logic (#106079) 2025-05-29 13:48:25 +01:00
Collin Fingar c23ee1e116 QueryLibrary: Adding Tags as new set field to queries (#105702) 2025-05-29 08:47:30 -04:00
Andres Martinez Gotor 301d78bf96 User Storage: Expose functionality for frontend-only datasources (#106165) 2025-05-29 14:44:00 +02:00
Mykhailo Zahlada fc988c8771 Auth: Add Azure/Entra workload identity support (#104807)
* fixes/adds azure workload identity authentication. Issue #78249

* Updates default values. Adds `workload_identity_token_file` defaults

* Updates example config. Adds `workload_identity_token_file`

* Updates docummentation: adds Federated credentials for Workload Identity

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

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

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

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

* Docs: add link to official documentation. Clarifies example.

* 1. Add workload_identity_enabled and workload_identity_token_file settings to [auth.azuread] for workload identity support.

2. Extend OAuthInfo struct to include workload identity fields.
3. Update OAuth authentication logic to handle Azure AD workload identity using federated token as client assertion.
4. Update sample configuration and documentation for new settings.

* ensure environment variable overrides are respected for OAuth SSO settings

- Ensure that settings loaded in pkg/services/ssosettings/strategies/oauth_strategy.go correctly reflect environment variable overrides, matching Grafana's config behavior.
- Align config loading logic with main config loader to prevent issues where INI values would override environment variables.

* updates documentation

* test: add workload identity configuration tests for Azure AD OAuth strategy. Add test coverage for workload_identity_enabled and workload_identity_token_file settings

* feat: add workload identity support to Azure AD SSO configuration UI

* updates documentation

* Simplify OAuth flow by removing unnecessary switch-case structure

* Small changes

* Lint + i18n gen

* refactor: remove redundant workload_identity_enabled setting as auth method gets defined by client_authentication

* update documentation

* refactor: remove redundant workload_identity_enabled setting as auth method gets defined by client_authentication

* updates documentation - configuration options table: adds `client_authentication`, `workload_identity_token_file`, and `federated_credential_audience`

* Small changes, lint, i18n

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-05-29 14:09:18 +02:00
Kyle Brandt 601676b98e TestData: Adds Frame Type to "Predictable" Scenarios to enable SQL expressions (#106177) 2025-05-29 07:22:51 -04:00
Andres Martinez Gotor e2e8de29ba Advisor: Check plugin signature (#106044) 2025-05-29 11:33:19 +02:00
Josh Hunt 27ab895eef Chore: Fix lefthook not running (#106196)
Chore: Fix lefthook.rc
2025-05-29 11:06:33 +02:00
grafana-pr-automation[bot] 087934fab0 I18n: Download translations from Crowdin (#106192)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-29 09:49:32 +01:00
Zach Day de07edfa24 Fixing links and removing duplicate content (#105837) 2025-05-29 09:23:13 +02:00
song2park e572af4562 docs: fix keycloak signout_redirect_url (#106191) 2025-05-29 07:00:50 +00:00
Stephanie Hingtgen 5303a1cc7e Org: Fix org deletion (#106193) 2025-05-29 09:40:06 +03:00
Stephanie Hingtgen ab99211b40 Dashboard Provisioning: Reduce db load (#106114) 2025-05-29 09:39:07 +03:00
Ezequiel Victorero 3de80ec3d7 Feature Toggles: remove useRawTimeRange FF (#106154) 2025-05-28 15:44:48 -07:00
Jean-Philippe Quéméner 4519ef8d21 chore(unified-storage): increase background request timeout (#106186) 2025-05-28 22:59:28 +02:00
Tom Ratcliffe 7bfa78c6e6 I18n: Update eslint rule to catch some untranslated object properties (#105072) 2025-05-28 21:14:43 +01:00
Victor Marin 57ec71a7a0 Chore: Fix workflow that adds dashboards label to issues (#106173)
fix workflow
2025-05-28 12:45:38 -04:00
Paul Marbach f151efd3cc fix #103209: fix access for tables with nullable data (#106094) 2025-05-28 12:07:51 -04:00
Kyle Brandt 7f1a286ffb SQL Expressions: Always convert on type first (#106083)
fixes #103124
2025-05-28 12:00:37 -04:00
Ezequiel Victorero 64f321e430 Shortcuts: Update panel shortcuts modal (#106161) 2025-05-28 12:39:41 -03:00
Victor Marin c5def67722 Chore: Fix workflow that adds dashboards label to issues (#106169)
fix workflow
2025-05-28 17:36:34 +02:00
Victor Marin eb1d532a9b Chore: Fix workflow that adds dashboards label to issues (#106166)
fix issueNumber
2025-05-28 17:14:24 +02:00
Hugo Häggmark b5b02e2c08 i18n: adds loading of translations from packages (#106141)
* I18n: Translate npm packages

(cherry picked from commit 5e1e640b940dd7b7cc9b3f74b9d166ff75c74836)

* chore: updates

* i18n: adds loading of translations from packages

* chore: adds tests

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-05-28 15:51:59 +01:00
Kevin Adam 98d1821948 Extension sidebar: Fix incorrect rendering of menu buttons (#106145)
* fix(ui): use component render instead of usecallback to render button

* add and fix component tests
2025-05-28 16:39:23 +02:00
kay delaney 827419d32e Dashboards: Make scrollbar gutter stable (#106157) 2025-05-28 15:37:07 +01:00
Victor Marin 09565cdd24 Chore: Fix workflow that adds dashboards label to issues (#106158)
* fix workflow

* fix workflow
2025-05-28 16:30:49 +02:00
renovate[bot] d04c8f2e81 Update scenes to v6.16.0 (#106152)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 14:22:37 +00:00
Paul Marbach fb825cd38f update TableNG to use the grafana fork of react-data-grid, which supports React 18 (#105970)
* update TableNG to use the grafana fork of react-data-grid, which supports React 18

* react-data-grid got rid of their CJS

* fix jest.config formatting
2025-05-28 10:04:14 -04:00
kay delaney 5b29949071 LiveConnectionWarning: Tidy markup and fix 'blocking' issue (#106151) 2025-05-28 15:57:04 +02:00
Paul Marbach 840afe448f update TableNG to use the grafana fork of react-data-grid, which supports React 18 (#105970) 2025-05-28 09:50:15 -04:00
Mariell Hoversholm 312fcb4a54 Build: Use absolute paths when passed relatives (#106122) 2025-05-28 15:35:24 +02:00
Kevin Minehart 8a11a9bd6d CI: mirror some CI dependencies (#106148)
* mirror some CI dependencies
* remove -v from go build
2025-05-28 15:34:59 +02:00
Jacob Valdez 959ccb8ec2 Docs: Adding info on configuring CORS via reverse proxy (#104203)
* Docs: Adding info on configuring cors via reverse proxy

* Adding info regarding grafana.ini CORS configuration

* some clarification and typo fixes

* expanding the instructions

* run prettier

* fixing indentation

* adjusting an admonition

* adjusting information based on review
2025-05-28 08:18:21 -05:00
Andrej Ocenas bd22c854b2 Scopes: Add wrapping to selected scopes in command palette (#105828)
Add wrapping to selected scopes
2025-05-28 14:55:54 +02:00
Tobias Skarhed 18216a9a15 Select: Set min width for the current selected item when width=auto (#106131)
* Set min width when width=auto

* add prop types for ValueContainer

* Update betterer

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-28 14:17:59 +02:00
Dana Axinte b4cd51810b SecretsManager: Various utils for usage insights, outbox and secretkeeper (#106010)
* SecretsManager: utils for usage insights on ST mode

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

* SecretsManager: add assert

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>

* SecretsManager: Remove encryption scope option

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

* SecretsManager: add fake keeper

Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
2025-05-28 12:46:54 +01:00
kay delaney 45c361e307 Dashboards/E2E: Remove unnecessary e2e.pages.Dashboards.visit() invocations (#106070) 2025-05-28 12:10:28 +01:00
Will Browne edb0865caa Chore: Ensure we save correct default admin user in integration test DB setup (#105752)
* fix helper + amend tests

* fix import + remove unused var

* remove more users

* remove unused code

* update test comment
2025-05-28 11:25:01 +01:00
Ryan McKinley 10f2b76156 Chore: Update apps codegen to v0.38.2 (#106111) 2025-05-28 12:35:44 +03:00
Pepe Cano 82b58a2396 docs(alerting): clarify provenance requirements when provisioning alert rules (#106105)
* docs(alerting): clarify provenance requirements when provisioning alert rules

* run prettier
2025-05-28 11:11:56 +02:00
Pepe Cano 8de013c7e6 docs(alerting): OpsGenie instructions for other alertmanagers (#106049)
* docs(alerting): OpsGenie instructions for other alertmanagers

* run prettier
2025-05-28 10:59:05 +02:00
Hugo Häggmark 7235765998 @grafana/ui: fixes missing getAvailableIcons export (#106125)
grafana-ui: fixes missing getAvailableIcons export
2025-05-28 10:51:29 +02:00
Aleksandar Petrov 0b8252fd7c Pyroscope: Annotation support for series queries (#104130)
* Pyroscope: Add annotations frame to series response

* Adapt to API change, add tests

* Run make lint-go

* Fix conflicts after rebase

* Add annotation via a separate data frame

* Process annotations fully at the datasource

* Add mod owner for go-humanize

* Pyroscope: Annotations in Query Response can be optional

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-05-28 10:42:19 +02:00
Tom Ratcliffe ea0e49a6e6 Chore: Restrict imports of test files to avoid test pollution (#106057) 2025-05-28 10:37:15 +02:00
Tobias Skarhed f6b72a9c96 Betterer: Change message for localStorage usage (#105310)
* Change message

* Add message for packages
2025-05-28 10:23:54 +02:00
Alexander Akhmetov b51d70aad9 Alerting: Fix swagger generation (#106106) 2025-05-28 10:15:11 +02:00
Mariell Hoversholm 6f3b0e95b4 Build: Include .git (#106124) 2025-05-28 10:03:19 +02:00
Tobias Skarhed d41f3e4de0 Select: Replace dropdown indicator with loading icon (#105739)
* Replace the dropdown icon with loading to reduce jankiness

* Rmove theme usage

* Remove unused  import

* Fix margin issue

* Update snapshot
2025-05-28 09:54:14 +02:00
Alex Khomenko 09882bb07b Provisioning: Fix missing migration (#106005)
* Provisioning: Fix migration

* Add tests

* Fix queries

* Betterer

* Betterer

* Fix showing history checkbox
2025-05-28 06:46:37 +02:00
Ryan McKinley d4c446f42c Chore: Update k8s.io to v0.33.1 (#105307) 2025-05-28 00:13:18 +03:00
Isabella Siu b11be2f37d CloudWatch: Improve instance attribute variable query editor (#105206) 2025-05-27 16:35:29 -04:00
Andrii Chubatiuk 84ddf7b320 Public Dashboard: Updated list of plugins that support public dashboard (#104910) 2025-05-27 17:19:28 -03:00
Nathan Marrs 0178de3109 Feature Toggles: Remove two AB test feature toggles (#106100) 2025-05-27 21:18:23 +02:00
Mustafa Sencer Özcan 4ba378603d feat(unified-storage): round robin queue and scheduler package (#105544) 2025-05-27 21:15:03 +02:00
Alexander Akhmetov faeddf334a Alerting: Fix $value type when single data source is queried (#106080) 2025-05-27 21:04:07 +02:00
Yunwen Zheng 8b6103fc67 TimePickerWithHistory: Improve type handling when reading history from localStorage (#105859)
* TimePickerWithHistory: Improve migrateHistory type safety handling and validation
2025-05-27 14:00:47 -04:00
Pepe Cano c84388f550 docs(alerting): Examples of dynamic labels and dynamic thresholds (#105776)
* docs(alerting): Add dynamic thresholds example

* update intro

* docs(alerting): Example of dynamic labels

* fix template example

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-thresholds.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/best-practices/dynamic-labels.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* fix typo

* fix typo

* Add section `CSV data with Infinity` in Table data example

* Link dynamic threshold example to tabular data requirements

* minor copy changes

* minor heading fix

* Add links (admonition) to Grafana Play examples

* Use `Caveat` instead of `Gotcha`

* Dynamic thresholds: caution message when Math operates on missing series

* Exampleof latency threshold based on traffic

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-27 17:36:32 +02:00
antonio 7661aa8b95 alerting tutorials update (#106018)
* first

* second

* third"

* 4th

* format

* typo

* $labels

* all pretty no pity

* order

* order2

* typo

* order4

* link renamign

* titles

* test without title heading

* test with colon in h1

* removed H1s
2025-05-27 15:02:26 +00:00
Sergej-Vlasov 077f262877 DashboardE2E: Wait for viz to load before proceeding with e2e (#106063)
* wait for viz to load before proceeding

* trig ci
2025-05-27 15:44:24 +01:00
Matheus Macabu c4c4faff1e Dependencies: Bump github.com/openfga/openfga to v1.8.13 to address CVE-2025-48371 (#106064) 2025-05-27 16:30:23 +02:00
Jean-Philippe Quéméner 9a565ff46e chore(authz): contextualize the authz logger (#106078) 2025-05-27 16:28:58 +02:00
Scott Lepper f511b313e6 Dashboard e2e datasource options edit pane (#105896)
Dashboards - E2E - datasource variable edit pane
2025-05-27 10:08:54 -04:00
Domas d5bb055593 NavTree: Group APM and Infra plugins under "Observability" section (#104192)
* put o11y department apps under Observability menu section

* fix tests

* change url for observability grouping

* add routing for /observability
2025-05-27 17:05:28 +03:00
joshhunt-alt ccfde5a915 Update backport instructions in contributing docs (#106060)
* Update backport instructions in contributing docs

* Update merge-pull-request.md
2025-05-27 14:49:25 +01:00
Kyle Brandt 005f390df4 SSE: Update execution order to move DS queries first (#105686)
This is part of getting SSE more consistent when run from the query service vs part of grafana-server. 
fixes #105680
2025-05-27 09:34:40 -04:00
Syerikjan Kh b6c9ecf7fe fix: preinstall sync plugins have priority over preinstall_async plugin (#106016) 2025-05-27 08:32:02 -04:00
Alexander Zobnin ef14992f00 Zanzana: Fix reconciling role with empty UID (#106045) 2025-05-27 14:23:29 +02:00
Josh Hunt c0bb72cdb5 Chore: Use workflow_run dance for backports (#105821)
* Chore: Use workflow_run dance for backports

* remove action input

* fix issues

* remove default permissions

* codeowners

* remove permissions from backport-trigger

* fix repo name

* action lint

* use dev workflow
2025-05-27 12:10:54 +01:00
Jev Forsberg 5963be6f31 Security: Add fix for CVE-2025-3580 (#105976)
baldm0mma/ add main/404-202504151210.patch to main
2025-05-27 11:21:55 +01:00
renovate[bot] 41926dcfd5 Update dependency @floating-ui/react to v0.27.9 (#106048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 12:55:38 +03:00
Joanna 901ce2a00d Pagination: Add role="navigation" to improve a11y (#106027)
feat: add role to the pagination
Improves a11y by maintaining proper navigation landmarks
2025-05-27 10:44:31 +01:00
Fayzal Ghantiwala 589046bcdc Alerting: Persist alert instance FiredAt field (#105927)
* Persist alert instance fired at

* Update protos and tests
2025-05-27 10:04:26 +01:00
renovate[bot] e3326713f6 Update dependency @grafana/aws-sdk to v0.7.1 (#105947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-27 12:00:38 +03:00
Jean-Philippe Quéméner 9ba031364b fix(unified-storage): use batching for index creation (#106034) 2025-05-27 09:48:39 +02:00
Ryan McKinley e368558ffa Chore: Update references to internal go modules (#106042) 2025-05-27 10:24:38 +03:00
Dominik Prokop 28a31ed325 DashboardScenePage: Reset state manager to default when unmounting. (#106017)
* DashboardScenePage: Reset state manager to default when unmounting.

* Update test
2025-05-27 08:58:58 +02:00
Ryan McKinley 326081cdb7 Chore: Remove unified storage go modules (#106035) 2025-05-27 09:49:21 +03:00
Jean-Philippe Quéméner 814707152d chore(unified-storage): contextualize the index build logger (#106025) 2025-05-26 21:33:51 +02:00
Dana Axinte 5401175562 SecretsManager: Conditionally lock DB before migrations using config setting (#106003)
Secrets: Conditionally lock DB before migrations using config setting (#105949)

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-26 18:28:53 +01:00
Alex Khomenko 74b291d03b Provisioning: Use theme colors in TokenPermissionsInfo (#106014) 2025-05-26 19:44:39 +03:00
Gilles De Mey 5656d3015f Alerting: Hide labels section if we only have private labels (#105996) 2025-05-26 19:21:30 +03:00
Konrad Lalik c834a6e601 Alerting: Fix timeout error in consistency check (#106009)
* Add proper timeout removal in Prom consistency check

* Remove console error
2025-05-26 16:50:16 +02:00
Oscar Kilhed 4f18ad30c9 SchemaV2: Remove legacy rows from schema v2. (#105238)
* save transparent setting

* make sure we test both transparent and non transparent

* no more legacy rows

* schema changes

* Add testing, fix first row offset

* Remove legacy row from transform test

* Remove panel that's not present in layout

* Remove expects after removing the row, fix lint issues

* Remove unused commit

* update codegen

* update openapi snapshot

* Fix snapshot

* add missing default prop

* Fix repeating, fix first row, fix not flushing last row

* Use correct repeater

* fix lint, remove unused empty check

* update codegen

* update openapi test snapshot
2025-05-26 14:33:30 +02:00
Sergej-Vlasov 970dceab8c LayoutRestorer: Remove layout restorer usage (#105963)
* remove layout restorer usage

* remove layout restorer code
2025-05-26 10:12:25 +01:00
Andres Martinez Gotor 701297aa3f Advisor: Documentation and config check (#105929) 2025-05-26 11:11:29 +02:00
Denis Vodopianov 88355cc2b9 Chore: fix prev version detection in the update changelog action (#105964) 2025-05-26 11:55:58 +03:00
Mohamad Fadhil ae2556b204 Fix: typo in doc (#105981)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-26 08:03:52 +00:00
Zoltán Bedi 1e383b0c1e Postgres: Switch the datasource plugin from lib/pq to pgx (#103961)
* Create libpqToPGX feature toggle

* Refactor PostgreSQL datasource to support PGX with feature toggle

- Updated `ProvideService` to accept feature toggles for enabling PGX.
- Modified integration tests to use the new PGX connection method.
- Introduced new functions for handling PGX connections and queries.
- Enhanced TLS configuration handling for PostgreSQL connections.
- Updated existing tests to ensure compatibility with PGX and new connection methods.

* Update PostgreSQL datasource to enhance connection pooling and error handling

- Increased `MaxOpenConns` to 10 in integration tests for improved connection management.
- Refactored connection handling in `newPostgresPGX` to return a connection pool instead of a single connection.
- Updated health check error handling to utilize context and feature toggles for better error reporting.
- Adjusted `DisposePGX` method to close the connection pool properly.
- Enhanced query execution to acquire connections from the pool, ensuring efficient resource usage.

* Cleanup

* Revert postgres_test unnecessary changes

* Rename feature toggle from `libpqToPGX` to `postgresDSUsePGX`

* Add null check to dispose method

* Fix lint issues

* Refactor connection string generation

* Address comment in health check file

* Rename p to pool

* Refactor executeQueryPGX and split into multiple functions

* Fix lint issues

* The returning error message from PGX is enough no need to separate the error code.

* Move TLS handling to newPostgresPGX function

* Disable ssl for integration tests

* Use MaxIdleConns option

* Remove old feature toggle

* Rename`generateConnectionConfigPGX` to `generateConnectionStringPGX`

* Add back part of the error messages

* Don't show max idle connections option when PGX enabled

* Address comments from Sriram

* Add back Sriram's changes

* PostgreSQL: Rework tls manager to use temporary files instead (#105330)

* Rework tls manager to use temporary files instead

* Lint and test fixes

* Update pkg/tsdb/grafana-postgresql-datasource/postgres.go

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Update betterer

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-05-26 08:54:18 +02:00
Stephanie Hingtgen 745eda2848 Dashboard Provisioning: Fix re-provisioning on each run (#105979)
Dashboard Provisioning: Fix reprovisioning on startup
2025-05-25 13:18:49 +03:00
Stephanie Hingtgen 5c0194955e Dashboards: Fix FindDashboards when kubernetesClientDashboardsFolders is disabled (#105974)
Dashboards: fix legacy FindDashboards
2025-05-24 07:06:30 -06:00
grafana-pr-automation[bot] a8fd34cec4 I18n: Download translations from Crowdin (#105978)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-24 03:30:02 +03:00
Drew Slobodnjak 16a6d61ca7 Geomap: Require layer to have data for legend (#105580) 2025-05-23 14:28:16 -07:00
Valerii Sidorenko ff23cb1293 GrafanaUI: Fix Combobox ignoring loading prop (#105584)
fix(Combobox): show loading state when loading prop is true

Closes #105294
2025-05-23 14:29:28 -04:00
Torkel Ödegaard f65380db0e Dashboard: Data source variable editing in edit pane (#104153) 2025-05-23 18:49:01 +02:00
Victor Marin f9d9d2f93e Dashboards: Refactor URL state preservation functionality when reloading on params change (#105952)
Revert "Revert "Dashboards: Refactor URL state preservation functionality whe…"

This reverts commit 968bb08703.
2025-05-23 17:55:45 +03:00
Andres Martinez Gotor 109dc4dc56 Advisor: Update some wording (#105935) 2025-05-23 16:38:50 +02:00
Alex Khomenko 0cb6f9584b Restore dashboards: Re-enable FE feature toggle (#105820)
* Add dashboardRestore toggle

* Restore the toggle on FE

* Add navtree item

* Fix lint

* Rename feature toggle

* Use the renamed toggle
2025-05-23 17:35:54 +03:00
Jacob Hands 8734b54f90 Docs: document required return type for org_attribute_path (#105946)
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-23 13:48:10 +00:00
kay delaney 7cdeab4353 DashboardOutline: Allow scrolling to unactivated panels (#105954) 2025-05-23 14:23:28 +01:00
kay delaney bedd054409 Dashboards/E2E: Validate custom var deletion (#105941) 2025-05-23 14:22:57 +01:00
ismail simsek b1636c3f9d Docs: Add some jsdoc style comments to prometheus utf8 support for better clarity (#105862)
* add some jsdoc style comments for better clarity

* Update utf8_support.ts
2025-05-23 16:18:08 +03:00
Irene Rodríguez fa98a96e5d Fix broken links (#105936) 2025-05-23 13:11:27 +00:00
Georges Chaudy 04d39cbbc6 unistore: split ListIterator and ListHistory in StorageBackend (#105654)
split listIterator from ListHistory
2025-05-23 15:00:18 +02:00
Jean-Philippe Quéméner 392c1a71c9 Storage: Take migration_locking setting into account (#105938) 2025-05-23 14:11:21 +02:00
renovate[bot] 1a9e948830 Update dependency @prometheus-io/lezer-promql to v0.304.0 (#105940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 13:53:54 +02:00
renovate[bot] 08c75ba5af Update dependency @opentelemetry/semantic-conventions to v1.34.0 (#105937)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 14:40:03 +03:00
renovate[bot] 931f4cad72 Update dependency @grafana/llm to v0.19.2 (#105924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 13:59:06 +03:00
Victor Marin 968bb08703 Revert "Dashboards: Refactor URL state preservation functionality when reloading on params change" (#105931)
Revert "Dashboards: Refactor URL state preservation functionality when reload…"

This reverts commit 10628e8741.
2025-05-23 13:39:11 +03:00
renovate[bot] b02a375338 Update dependency @monaco-editor/react to v4.7.0 (#105930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 11:34:15 +01:00
Alex Khomenko 6ffccf825f Provisioning: Fix save form for readOnly repository (#105849)
* Provisioning: Fix save form for readOnly repository

* betterer
2025-05-23 12:44:23 +03:00
renovate[bot] 667e1080c2 Update dependency ml-regression-polynomial to v3.0.2 (#105923)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:36:20 +00:00
Peter Štibraný c4d3eb1cd0 Remove support for Google Spanner database. (#105846)
* Remove support for Google Spanner database.
2025-05-23 11:35:59 +02:00
Ashley Harrison 9769871a88 Internationalisation: Disable automatic task creation (for now) (#105926)
comment out automatic task creation
2025-05-23 12:34:01 +03:00
Jean-Philippe Quéméner eb8f3bc071 fix(unified-storage): wait for result to be available (#105922) 2025-05-23 11:03:01 +02:00
renovate[bot] 9bda7b9293 Update dependency @grafana/aws-sdk to v0.7.0 (#105811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:50:26 +01:00
Hugo Häggmark c7cd06d5f5 i18n: exports TFunction from @grafana/i18n package (#105921) 2025-05-23 10:34:35 +02:00
renovate[bot] c35803d992 Update dependency @bsull/augurs to ^0.10.0 (#105810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 09:22:22 +01:00
Jean-Philippe Quéméner e57be36936 fix(unified-storage): race in resource server watch (#105786) 2025-05-23 09:19:20 +02:00
Sven Grossmann 04de9c2740 Plugins: Support suffix in grafanaDependency (#105916)
Plugins: Support appendix in `grafanaDependency`
2025-05-23 09:16:13 +02:00
Kristina 86a366126a Transformations: Transpose should respect renamed field names (#105893)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-22 21:38:32 -05:00
grafana-pr-automation[bot] b6c1f84685 I18n: Download translations from Crowdin (#105913)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-23 03:33:06 +03:00
Kevin Minehart 0a49849cb3 CI: Fix calling 'move_packages' in wrong directory (#105912)
move_packages is in pkg now
2025-05-22 16:52:03 -07:00
Victor Marin 5cee301e75 GroupByVariable: Add support for default values in schema (#105518)
* update schema

* update schema

* refactor property to singular naming

* bump scenes

* leave scenes to caret version

* add defaultValue to groupBy model

* typo
2025-05-23 01:13:52 +03:00
Kevin Minehart 7e1c5a37e5 CI: temporarily remove verify pipeline (#105910)
temporarily remove verify pipeline
2025-05-23 01:13:16 +03:00
github-actions[bot] 43275fb6f2 Release: update changelog for 12.0.1 (#105891)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 14:10:51 -07:00
Kevin Minehart 8124980e1b CI: use -C when go-mod-dir is provided (#105851)
* use -C when go-mod-dir is provided

* remove unused target variable

* use my branch for testing

* fix syntax?

* use condition in bash instead

* dagger-for-github doesn't support multiline command

* just skip using the composite action

* update setup-go

* add missing space

* grafana-main -> .grafana-main

* use 'patch' as version

* use generated token for cloning / pushing

* colons in wrong place

* update generate-token action

* reduce permissions needed

* add org prefix to repositories list

* ok the repo names did not work like that

* pull-request -> pull_request

* add workflows: write permission

* push branch on dry_run

* Add missing DRY_RUN flag

* initialize LATEST_FLAG as array

* use RELEASE_BRANCH as the base branch

* use workflow in main

* done testing; use main
2025-05-22 23:58:30 +03:00
Jacob Valdez 73e971eedc Docs: Clarifying information about using the API for license renewal (#105879)
Docs: Clarifying information about using the API for licnese renewal
2025-05-22 15:46:18 -05:00
Matheus Macabu 98ee83bf3f Extensions: Add direct dependencies used by Enterprise build (#105832) 2025-05-22 13:17:00 -07:00
github-actions[bot] bc10c4ee7b Release: update changelog for 11.6.2 (#105889)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 19:39:57 +00:00
github-actions[bot] a54b0e384b Release: update changelog for 11.5.5 (#105888)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 12:20:53 -07:00
Cory Forseth 249e2f3d34 Authorization: add toggle for LBAC filtering for Tempo datasources (#105688)
add toggle for LBAC filtering for Tempo datasources
2025-05-22 20:13:31 +01:00
github-actions[bot] 2e64bd8dbf Release: update changelog for 11.4.5 (#105886)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 18:57:10 +00:00
github-actions[bot] 4b03edda44 Release: update changelog for 11.3.7 (#105882)
* Update changelog

* update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
2025-05-22 18:36:37 +00:00
Matias Chomicki a676fd620a New Logs Panel: follow up improvements and fixes (#105767)
* LogList: add version with no scroll

* LogList: fix support for permalinked and pinned logs

* LogLineDetails: improve resizable

* LogList: improve height adjustment when details are open

* LogList: let the people select text

* Revert "LogList: add version with no scroll"

This reverts commit f26cdce696.

* LogList: update test

* New Logs Panel: rename permalinkedRowId to permalinkedLogId

* LogListContext: update mock

* ControlledLogRows: implement custom scrollIntoView

* Logs Panel: fix re-render regression

* LogLine: tweak hover and expanded colors
2025-05-22 21:12:06 +03:00
Fayzal Ghantiwala 67d28465de Alerting: Fix debug log line in External Alertmanager sender (#105855)
Fix log line
2025-05-22 21:07:12 +03:00
github-actions[bot] dff2473410 Release: update changelog for 11.2.10 (#105845)
* Update changelog

* baldm0mma/ add CVE fixes to changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Kevin Yu <kevinwcyu@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-05-22 12:04:26 -06:00
Tom Ratcliffe 71a60e2734 i18n: Add shortcut/command palette item to toggle pseudo locale (#105826) 2025-05-22 19:12:17 +03:00
Smit Patel e389407907 Grafana-[data,sql,ui]: Use named imports (#105734)
grafana-[data,sql,ui]: use named imports
2025-05-22 17:08:46 +01:00
Kevin Minehart e433af003f CI: dagger run missing go run (#105778)
* dagger run missing go run

* Add missing build ID arg
2025-05-22 19:01:39 +03:00
github-actions[bot] 08fdc95635 Release: update changelog for 10.4.19 (#105840)
* Update changelog

* empty commit

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: idastambuk <ida.stambuk@grafana.com>
2025-05-22 08:21:57 -07:00
Jean-Philippe Quéméner 95eabcf03d refactor(unified-storage): rename cache to avoid import conflicts (#105831) 2025-05-22 17:12:31 +02:00
Kevin Minehart a37953bb6f CI: remove go-version flag (#105844)
remove go-version flag
2025-05-22 17:49:38 +03:00
Kristina bc3679957b Transformations: Add documentation around new behavior of Calculate field (#104429)
* Docs changes

* remove generated placeholder for binary ops with variables

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

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

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-05-22 09:43:35 -05:00
Irene Rodríguez c98792d924 add new sentence about GH enterprise (#105816) 2025-05-22 16:37:50 +02:00
Kevin Minehart b3fac7a2db Chore: Update changelog (#105794)
* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-22 09:35:52 -05:00
Isabel Matwawana f984c4cbe7 Docs: Fixed broken links (#105796) 2025-05-22 10:34:58 -04:00
Haris Rozajac c6ada816c2 Dashboards: Disable saving in the UI for provisioned k8s dashboards (#105429)
* disable editing in UI for k8s dashboards

* lint

* use AnnoKeyManagerAllowsEdits; clean up

* fix

* add tests; update the logic

* clean up
2025-05-22 08:18:48 -06:00
mohammad-hamid 0166b6bcc6 Update API docs for team groups search (#105512)
* Update API docs for team groups search

* update team sync doc

* remove param block

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-05-22 09:58:58 -04:00
Andreas Christou 844c854d75 Azure: Fix Application Insights metadata requests (#105614)
* Fix App insights metadata requests

- Correctly handle error responses

* Fix linting and always log the error message

* More lint
2025-05-22 14:35:41 +01:00
Dana Axinte 7f2923d4ed SecretsManager: Introduce keeper store (#105557)
* SecretsManager: Introduce secret database wrapper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Introduce db migrator with keeper table

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Introduce keeper store

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* new line

* without query listByNameSecureValue

* remove unused extractSecureValues for now

* SecretsManager: Add keeper integration tests

Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-22 14:26:47 +01:00
Nathan Vērzemnieks c5de567c8c Chore: update triage project for Elasticsearch (#105825) 2025-05-22 15:09:24 +02:00
Victor Marin e56f196c2e Revert "Remove scope dependency" (#105830)
Revert "Remove scope dependency (#105768)"

This reverts commit 75d983ccc8.
2025-05-22 16:05:31 +03:00
Sarah Zinger ec3f467666 ds-querier: small renames (#105701) 2025-05-22 09:04:02 -04:00
Syerikjan Kh e05ccb822a feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature (#105145)
* feat: map GF_INSTALL_PLUGINS to use preinstall plugins feature

* ref: process GF_INSTALL_PLUGINS as sync install

* fix: check GF_INSTALL_PLUGINS_FORCE in the docker run

* ref: use preinstall_sync for GF_INSTALL_PLUGINS

* ref: logs and deprecation msg for GF_INSTALL_PLUGINS

* chore: deprecated log formatting
2025-05-22 08:23:33 -04:00
Adela Almasan 267e3ffb7c Actions: Add support for custom variables (#105639)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-22 06:07:24 -05:00
Matt Cowley 2ce1c67d92 Home: update setup guide link/title to Getting Started Guide (#105692)
* Home: update setup guide link/title to Getting Started Guide

* Home: check plugin presence to show getting started guide

* Home: remove now unused homeSetupGuide feature toggle

* Home: use sentence case for Getting started guide item
2025-05-22 14:06:50 +03:00
kay delaney 9729c4cf60 Dashboards/E2E: Add test validating panel duplication (#105663)
* Dashboards/E2E: Add test validating panel duplication

* Validate duplicates remain after save/reload
2025-05-22 13:39:52 +03:00
Gilles De Mey 30398b6591 Alerting: Make rules clickable in rule group detail view (#105622) 2025-05-22 10:09:40 +00:00
Denis Vodopianov ca0ac05b39 Chore: add missing build-id to the rgm-promotion step (#105814)
add missing build-id to the rgm-promotion step
2025-05-22 12:55:35 +03:00
renovate[bot] e841674745 Update dependency react-select to v5.10.1 (#104907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:06:46 +00:00
Alex Khomenko eec109d500 Provisioning: Skip settings request if the feature toggle not set (#105800) 2025-05-22 12:04:09 +03:00
Alex Khomenko ec48b0dfcb grafana/ui: Add noMargin prop to Card (#105604)
grafana/ui: Add noMargin to Card
2025-05-22 12:03:58 +03:00
grafana-pr-automation[bot] 5299602211 I18n: Download translations from Crowdin (#105798)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-22 11:48:02 +03:00
renovate[bot] 69c40bb4e3 Update React Aria (#105763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:37:02 +01:00
renovate[bot] 12d103a425 Update dependency semver to v7.7.2 (#105753)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 09:36:36 +01:00
Sriram a8e87fc674 Postgres: Config diagnostics / logging update (#105666)
* config diagnostics update

* update tests

* fix typo
2025-05-22 08:27:36 +01:00
Mariell Hoversholm d692bce405 Drone: Dagger needs to use go run (#105803) 2025-05-22 10:14:44 +03:00
Adela Almasan cab652c4d1 TableNG: Data links and actions tooltip (#101015) 2025-05-21 17:09:32 -05:00
Collin Fingar b16f34fb93 QueryLibrary: Added IsLocked field (#105634)
* QueryLibrary: Added IsLocked field

* Updated openapi

* Update backend field description
2025-05-21 15:11:21 -04:00
Kristina b77ab8a685 Developer Guide: Add blurb about vs code debugger error (#105772)
Add blurb about vs code debugger error in developer guide
2025-05-21 21:59:30 +03:00
Kevin Minehart 616bbfd4fd CI: fix daggerbuild scripts so that they go run in the right place (#105697)
fix scripts so that they go run in the right place
2025-05-21 13:50:10 -05:00
Sofia Papagiannaki c7a690348d Apply security patch security-patch-202505051005.patch (#105754)
* Fix static handler redirect logic to ensure proper clean up URLs before redirection.

(cherry picked from commit f50ec8e0d10c24fd79f6c454974a2fc6e9694ef2)
2025-05-21 21:34:05 +03:00
Ryan McKinley 1dd59ca599 DualWriter: remove RV+UID for secondary update (#105543) 2025-05-21 18:25:40 +00:00
Victor Marin 75d983ccc8 Remove scope dependency (#105768) 2025-05-21 20:58:51 +03:00
Yunwen Zheng 60983906dd TimeRangePicker: Show local browser time info on hover (#105643)
* TimeRangePicker add timezone description when hover
2025-05-21 12:55:11 -04:00
Sonia Aguilar fc5472615f Alerting: Add alertingImportYAMLUI feature flag (#105742)
Add alertingImportYAMLUI ff
2025-05-21 17:59:41 +02:00
Andre Pereira b0feaed582 Drilldown: Remove New badge from drilldown menu (#105746)
Remove isNew flag from drilldown menu
2025-05-21 18:40:43 +03:00
renovate[bot] b1f4a7d380 Update dependency semver to v7.7.2 (#105757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 15:38:05 +00:00
Gilles De Mey cb94043b41 Alerting: Add group interval metadata to new list view (#105737) 2025-05-21 17:10:43 +02:00
renovate[bot] d8812388cf Update dependency papaparse to v5.5.3 (#105750)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 15:09:32 +00:00
Luminessa Starlight 43e2bf5e38 NestedFolderPicker: Fix scroll jumps back to top (#105567)
refactor selector to output a stable value
2025-05-21 11:02:42 -04:00
Josh Hunt 5bac2639c7 Chore: Update internationalization docs (#105748) 2025-05-21 16:00:10 +01:00
renovate[bot] ed99813efa Update dependency marked to v15.0.12 (#105744)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:59:57 +00:00
Sofia Papagiannaki 69e657b296 SQLStore: Add index on is_service_account and last_seen_at columns in user table. (#105727)
Add index on is_service_account and last_seen_at columns in user table.
2025-05-21 17:44:44 +03:00
renovate[bot] a3c6b7c28d Update dependency rxjs to v7.8.2 (#105351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:34:29 +00:00
renovate[bot] 0904dbab3b Update dependency dompurify to v3.2.6 (#105720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 14:25:32 +00:00
Ashley Harrison 0682ffa0ab Chore: Remove cleanup step in Crowdin (#105728)
* remove cleanup step as it's not necessary

* fix CODEOWNERS
2025-05-21 15:14:59 +01:00
Yuri Tseretyan d019b4ff1b Alerting: Change logging in Alertmanager (#105704)
* change logger to ngalert.notifier and use component label
* update alerting module

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-21 10:13:18 -04:00
Dana Axinte 6e5e133f7d SecretsManager: Introduce db migrator with keeper table (#105538)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-21 15:02:51 +01:00
Josh Hunt 06206ced68 Actions: Update backport action to commit using grafana-delivery-bot (#105735)
(cherry picked from commit 6872f154ec34425388de3b6548b8d22dc3d06a90)
2025-05-21 14:55:34 +01:00
Haris Rozajac d11d8ec111 Dashboards: Make serializer a single source of truth for passing k8s props on save (#105576)
* make serializer a single source of truth for passing k8s props on save

* remove resourceVersion when updating

* don't pass result.version to resourceVersion

* remove k8s update on saveCompleted from dash scene
2025-05-21 07:24:41 -06:00
Andres Martinez Gotor 269226cb50 Advisor: Add human readable name to check types (#105717) 2025-05-21 15:23:08 +02:00
Gabriel MABILLE c012480fd6 Authz: Define app resources (#105050)
* Authz: Define app resources

* Add coreroles and cluster roles

* Restore CODEOWNERS from main

* ManagedPermissions -> ResourcePermissions

* Rework changes

* Update apps/authz/kinds/v0alpha1/rolebindingspec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update apps/authz/kinds/v0alpha1/rolespec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Make

* WIP first set of comments

* typox

* Copy folder Makefile

* Remove uid

* Rename authz -> iam

* Rename to iam

* Dockerfile

* Remove name

* Mv up

* Try with postprocess

* linting

* Use same version

* apimachinery v0.32.3

* update-workspace

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-05-21 14:47:44 +02:00
Gabriel MABILLE cb3cd021b7 AuthZ-Service: Add traces to cache (#105718) 2025-05-21 14:35:43 +02:00
Mariell Hoversholm 8caa62ede0 CI: Select all packages in sharded tests (#105725) 2025-05-21 14:25:48 +02:00
renovate[bot] 10b097efa4 Update dependency @react-awesome-query-builder/ui to v6.6.15 (#105716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 10:55:43 +00:00
Gilles De Mey 777d2e8e4a Alerting: mocking and testing of Alerting package (#105342) 2025-05-21 12:47:31 +02:00
Konrad Lalik e2cd5c870f Alerting: Limit GMA alerts on the new list page (#105657) 2025-05-21 12:26:23 +02:00
renovate[bot] 7361537253 Update dependency @grafana/plugin-ui to v0.10.6 (#105715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 11:53:11 +02:00
Denis Vodopianov cefd2dab7a Chore: Detaching go tools from the main Grafana workspace (#104861)
* add script for tooling

* add to make

* not to forget

* reworked go tools

* add tool installation script

* adding readme

* updating readme

* updating readme

* cleanup install.sh and makefile

* update the readme file

* cleanup scripts

* switch variables.mk to lazy evaluation

* add tools ache to gitignore

* get rid of absolute path in hte Variables.mk file

* switch to reusable function for path generation

* add debug statements

* add create cache tool dir

* add debuig statements to make file

* drop tool cache

* fix race condition n ci

* fix race condition n ci

* cleanup workspace

* add lefthook.rc to codeowners

* copy .citools folder to docker image

* switch back to main branch of grafana-build

* Add .citools to the drone builder

* fix wording in generate.sh and README.md
2025-05-21 11:22:24 +02:00
Alexa V b1b9151cd7 Chore: Fix Flaky test DashboardDatasourceBehaviour (#105682)
Add spy to prevent flaky test
2025-05-21 10:55:46 +02:00
renovate[bot] be037e77dc Update dependency react-dropzone to v14.3.8 (#104869)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-21 08:52:03 +00:00
Konrad Lalik 0c9ca20bc5 Alerting: List v2 empty states (#105616)
* Add empty state handling for GMA rules

* Add handing empty states for Grafana and Datasource rules

* Update translations, fix lint errors

* Add empty state translation

* WIP layout update

* implement hover styles

* update pagination

* fix list item indent

* clean up actions part 1

* only apply text fill to v2 list view

* add missing returnTo for rule viewer

* fix list styles for list view

* i18n

* update bulk actions to regular folder actions for list v2

* fix a few tests

* simplify paginated loaders for new list view

* i18n

* more UI feedback

* fix test

* comment

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-21 10:23:48 +02:00
Ashley Harrison e38e07ec60 Chore: Fix crowdin task cleanup (#105690)
* fix cleanup of project tasks

* fix task cleanup
2025-05-21 09:11:17 +01:00
Mariell Hoversholm 1956a17f61 Codeowners: Move workflows to DES (#105613) 2025-05-21 10:05:26 +02:00
Jean-Philippe Quéméner a13fe75de8 refactor(unified-storage): set the GUID in the resource server (#105683) 2025-05-21 09:49:49 +02:00
Joey fe704843a9 Tempo: Support alerting and recorded rules in TraceQL metrics (#105094)
* Tempo: Support alerting and recorded rules

* Remove step and hide in options

* Update query type shown in alerting

* Remove labelKeys

* Update test
2025-05-21 07:55:08 +01:00
jackyin 437f3ff936 URLParams: Stringify true values as key=true always (#97346) 2025-05-21 07:57:33 +03:00
grafana-pr-automation[bot] 1671a6ee59 I18n: Download translations from Crowdin (#105709)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-21 03:34:01 +03:00
Scott Lepper f47ab7ab2f Dashboards E2E - edit pane - query variable (#105635)
* Dashboards E2E - edit pane - query variable
* update test to use gdev cloudwatch; remove duplicate label and mocks
* wait for the api call to fetch the editor options
2025-05-20 15:31:06 -04:00
Scott Lepper ab86c5017b Dashboard E2E - edit pane - ad hoc variable (#105641)
* Dashboard E2E - edit pane - ad hoc variable
2025-05-20 15:30:11 -04:00
William Wernert 0208231ed6 Alerting: Handle connection errors in remote writer as expected (i.e. user) errors (#105687) 2025-05-20 15:14:39 -04:00
Kim Nylander d0d941fe8d [DOC] Make notes consistent in Git Sync docs (#105695) 2025-05-20 18:27:55 +00:00
maicon 1435eedbc4 Provisioning: Move OSS provisioning to Run step (#105428)
* Provisioning: Move OSS provisioning to Run step

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


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-20 14:06:06 -04:00
Matias Chomicki 9308f86d63 New Logs Panel: Add Log Details support (#105609)
* Log list: add onclick listener

* LogListContext: add basic details support

* LogLineDetails: create component

* Address lint issues

* Log Details: make resizable and store size

* LogListModel: add sampled and error support

* LogDetails: pass more required props

* LogLineContext: add interactive callbacks support

* LogLineDetails: pass interactive callbacks

* LogList: pass displayedFields callbacks

* LogLine: move click listener

* LogLineMenu: support showing details

* LogLine: move onclick listener

* LogListContext: remove displayedFields intermediation

* i18n

* LogListContext: abstract details shown function

* LogLine: visually show expanded lines

* LogDetails: remove min width for labels

* LogLineDetails: add close button

* LogList: add extra wrapper to get width

* LogLineDetails: update logs size on resize

* virtualization: update to new width reference

* LogLine: check overflow on every re-render

* LogList: debug virtualization when resizing

* LogLineDetails: make it scrollable

* LogListContext: make detailsWidth not undefined

* Update tests with new attributes

* LogLine: update collapsed state with container changes

* LogLine: move cursor property to clickable styles

* LogList: fix height recalculation when display options change

* Logs: fix feature toggles support

* Logs: more feature toggles adjustments

* Lint

* LogLine: support duplicates, hasError, and isSampled

* Logs: debug feature flag combinations

* i18n

* Prettier

* New Logs Panel: generate storage key for dashboards

* Explore Logs: fix filtered levels

* Logs Sample: integrate new panel

* LogLine: fix unwrapped logs

* Fix test

* Update test

* Logs panel: update test

* Prettier

* LogLine: update tests

* LogLineMenu: update test

* LogList: update unit test

* processing: update test

* virtualization: update unit test
2025-05-20 20:28:35 +03:00
Alex Spencer ce3f485593 TableNG: Fix filtering bug (#105334)
fix: tableNG filtering
2025-05-20 11:10:49 -06:00
Gilles De Mey 082b46067c Alerting: New list view layout update (#105489) 2025-05-20 19:03:07 +03:00
Alexa V b1a6860f52 Dashboards: Schema V2 - Rename Annotations 'options' to 'legacyOptions' and Fix stale props (#105266)
* Rename Annotations 'Options' to 'legacyOptions'

* use new legacyOptions in StandardAnnotationQueryEditor

* use new legacyOptions in transformSaveModelSchemaToScene

* use legacyOptions in transformSceneToSaveModelSchemaV2

* Fix bug with ds query editors not taking the latest state

* update snapshot
2025-05-20 17:55:30 +02:00
Kevin Minehart 13f4cf162e CI: move grafana-build into pkg/build (#105640)
* move grafana-build into pkg/build
2025-05-20 10:48:00 -05:00
Josh Hunt 759933d3e2 Actions: Remove pr trigger from Skye workflow, change to use JSON (#105684)
* Actions: Remove pr trigger from Skye workflow, change to use JSON

* remove mentions of PRs
2025-05-20 16:34:43 +01:00
Mustafa Sencer Özcan f70edbb6f2 fix(unified-storage): bump unified storage folder list limit (#105685) 2025-05-20 17:29:31 +02:00
Ashley Harrison b727bd1c8d Chore: Move ml app to root (#105677)
* move ml app to root

* update translation

* translate subtitle as well

* fix casing
2025-05-20 16:24:21 +01:00
Vardan Torosyan fbf87a9fc1 Docs: Fix SCIM availability note about Grafana Cloud (#105649)
* Docs: Fix SCIM availability note about Grafana Cloud

* SCIM and Team Sync are available in Pro
2025-05-20 17:11:57 +02:00
Matheus Macabu a1e71fc85f SecretsManager: Update decrypt authorization with service identity (#105668)
(cherry picked from commit 9aea342be1)
2025-05-20 16:24:51 +02:00
lean.dev 06223868b9 Chore: rename licensing action (#105143) 2025-05-20 15:24:06 +01:00
Scott Lepper 902073ead7 e2e - debug / slomo fix (#105554)
e2e - slomo fix
2025-05-20 09:48:11 -04:00
Ashley Harrison b1c1d080e2 Internationalisation: Mark up MSSQL (#105532)
* scaffolding

* markup

* fix typos + extract translations

* update crowdin.yml

* uppercase Grafana
2025-05-20 14:39:41 +01:00
Collin Fingar ea9040bbf7 TimeRangePicker: Added prop to allow side move buttons w/ relative range (#105422)
* TimeRangePicker: Added prop to allow side move buttons w/ relative range

* Remove prop for displaying the errors

* lint fix
2025-05-20 09:31:38 -04:00
Matheus Macabu 38de0cac3a Chore: Replace usages of golang.org/x/net/context with stdlib context package (#105676) 2025-05-20 14:59:40 +02:00
Matheus Macabu 36c31ce841 NGAlert: Revert change to use math/rand/v2 in tests (#105661) 2025-05-20 14:47:57 +02:00
Edvard Falkskär 761f008884 NodeGraph: Fix view traces query for edges (#105324)
* NodeGraph: Fix view traces query for edges

* Updating tests
2025-05-20 14:39:42 +02:00
Hugo Häggmark 81ad16f25f i18n: cleans up exports and imports (#105669) 2025-05-20 15:31:53 +03:00
Hugo Häggmark 7108f82cc4 Prometheus: removes props mutation (#105650) 2025-05-20 14:01:17 +02:00
Ana Ivanov dbd88033f0 Add Cloud provider logo (#105274)
* Add Cloud provider logo

* remove color

* remove other svg props
2025-05-20 14:55:22 +03:00
Will Assis 3d1eac754b unified-storage: distributor instructions and fix race condition (#105630)
* update unified storage README with instructions on how to run the distributor locally and fix race condition causing the server to crash on startup randomly
2025-05-20 14:46:33 +03:00
Sergej-Vlasov 03f1bb950b DashboardSchemaV2: add missing allowCustomValue property in variables (#105416)
* add missing allowCustomValue property to variables in schema V2

* fix K8s Codegen Check

* updade snapshots for backend tests
2025-05-20 11:50:46 +01:00
Dana Axinte a7922912fe SecretsManager: Introduce secrets database wrapper (#105472)
SecretsManager: Introduce secret database wrapper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-20 11:48:47 +01:00
Michael Hoffmann 32bd9e22ee prometheus: use getSeriesValues in metrics selector (#105361)
When we have labels selected and want to refresh the list of metrics that match this grafana would use an expensive
/api/v1/series call instead of /api/v1/label/__name__/values with matchers, even if the datasource is configured to be
ble to use matchers in label values calls.

Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>
2025-05-20 12:09:08 +02:00
Ashley Harrison 546f0c2675 Chore: Remove extraThemes feature toggle (#105623)
remove extraThemes feature toggle
2025-05-20 09:18:08 +01:00
Tito Lins 15aa879acb Alerting: ignore multiple org ids on prom writer (#105652) 2025-05-20 10:15:25 +02:00
Alexander Zobnin cfba630f5c RBAC: Don't additionally cache all users permissions (#105607)
* RBAC: Don't additionally cache all users permissions

* remove unused tests
2025-05-20 09:28:46 +02:00
Yuri Tseretyan 7dc13d63b9 Alerting: Refactor Grafana Alertmanager (#105568)
* update alerting module

* use NotificationsConfiguration
* update to use opts and configure new fields
* use TenantID instead of orgId
2025-05-20 04:40:51 +03:00
grafana-pr-automation[bot] 2d71edbc52 I18n: Download translations from Crowdin (#105644)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-20 03:31:57 +03:00
ismail simsek d80cfce798 Revert "Prometheus: Remove series endpoint call from Metrics Explorer" (#105104)
Revert "Prometheus: Remove series endpoint call from Metrics Explorer (#104263)"

This reverts commit 89198bb749.
2025-05-19 23:06:39 +02:00
Michael Mandrus b4fc33ff6b Chore: Fix cloud migration test when running against postgres (#105636)
make postgres integration tests happy
2025-05-19 22:59:31 +02:00
Mustafa Sencer Özcan 91882cf50e chore(unified-storage): add tracing for unified storage folder implementation (#105601) 2025-05-19 23:25:08 +03:00
Alexander Akhmetov d57ce72969 Alerting: Document X-Grafana-Alerting-Notification-Settings header (#105300) 2025-05-19 22:01:13 +02:00
Adam Simpson 5faa5f87ba ds-querier: return 400 when no code is present (#105633) 2025-05-19 22:23:51 +03:00
Alexander Akhmetov 04f7f2451d Alerting: Add custom headers support for recording rules custom datasource writer (#105618)
Alerting: Add custom headers support for recording rules datasource writer
2025-05-19 19:42:22 +02:00
Laura Fernández 1c99ace68d i18n: Change verify-i18n.spec.ts to test translations using language label (#105629) 2025-05-19 19:41:27 +02:00
Andreas Christou 4a7a3f9e2a ElasticSearch: Fallback parse total hits as int (#105615)
* Attempt int parsing

* Update total hits logic

- Do not allow the error to fail the request
- Add some comments

* Mark log as debug
2025-05-19 18:08:38 +01:00
Alexander Akhmetov d5a8401499 Alerting: Mention recording rules setup in the import API documentation (#105565)
* Alerting: Update recording rules mentions in the import API documentation

* Apply suggestions from code review

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-19 19:01:46 +02:00
Drew Slobodnjak c03957d805 Geomap: Update CARTO attribution (#105578) 2025-05-19 09:28:15 -07:00
Sergej-Vlasov 8456801a51 DashboardE2E: Add more cases to grouping E2E (#105598)
* add more row grouping e2e

* refactor dashboard create with dashboard import to speed up tests

* add more tests for tabs layout

* adjust flaky test
2025-05-19 16:48:12 +01:00
Gabriel MABILLE 80898c14d0 AuthZ-Service: Add debug logs with the function execution duration (#105621)
AuthZ-Service: Add simple logs with the execution duration
2025-05-19 17:47:01 +02:00
kay delaney 0b0f16de65 Dashboards/E2E: Add test validating transparent bg toggle behavior (#105619)
* Dashboards/E2E: Add test validating transparent bg toggle behavior

* fix test name
2025-05-19 18:43:26 +03:00
Michael Mandrus 6205e126cc CloudMigrations: Fix issues with snapshot resource limits (#105425)
* fix bulk inserts

* commit progress so cursor doesn't sabotage me

* add more tests

* get everything working

* rename variable

* update comment

* regen mocks, fix k8s list method maybe

* fix bug with duplicate entries

* lint

* Snapshots: Use slices.Chunk for batching inserts

* remove extra linebreak

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-05-19 11:37:22 -04:00
Torkel Ödegaard 8ee1f2c1fc Scopes: Replace scopes bridge with scopes variable (#105399) 2025-05-19 16:31:37 +02:00
Scott Lepper cfe340da05 Dashboards: E2E - Edit Pane - Interval Variable (#105570) 2025-05-19 10:10:55 -04:00
Tom Ratcliffe c2ebb9cbbf i18n: Update lint rule suggested import location to @grafana/i18n (#105091) 2025-05-19 15:00:15 +01:00
kay delaney b3a73a5282 Dashboards/E2E: Add test validating panel title and description modification (#105561)
* Dashboards/E2E: Add test validating panel title and description modification

* Use component selector for headerContainer

* Add flows for changing panel title and description
2025-05-19 14:58:23 +01:00
Andres Martinez Gotor 4d0124af7a Advisor: Fix retry behavior for missing item (#105608) 2025-05-19 15:15:20 +02:00
Josh Hunt 8bfff4185c Preferences: PATCH when just changing theme (#105610) 2025-05-19 13:23:36 +01:00
Will Assis bdae4424e8 unified-storage: setup distributor module option A (#104737)
* setup distributor module

* move lifecycler into resource server provider

* remove ring/client pool setup from distributor module and use the same ring/client pool between storage server module and distributor module

* implement resourcestore server methods

* make healthcheck fail if ring is not running
2025-05-19 07:46:03 -04:00
Ashley Harrison 98c9bc5028 Preferences: Disable the save button whilst saving preferences (#105605)
* disable the save button whilst saving preferences

* use .finally to always reset state of submit button

* fix unit tests
2025-05-19 12:42:44 +01:00
Ashley Harrison 808b371225 Themes: Prevent duplicated API call in drawer (#105602)
refactor to separate component, stop propagating radio button event + unit test
2025-05-19 12:42:36 +01:00
Hugo Kiyodi Oshiro 3fe31e19b2 Plugins: Change versions tab column name (#105596) 2025-05-19 13:37:00 +02:00
Laura Fernández 23ecb9d904 i18n: Use grafana/i18n to init the locale and manage the regionalFormat (#105281) 2025-05-19 13:24:33 +02:00
grafana-pr-automation[bot] 8b78b604ca I18n: Download translations from Crowdin (#105606)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-19 14:18:27 +03:00
Jean-Philippe Quéméner 5d8f2e0ec3 refactor(unified-storage): extract list iterator and add tests (#105600) 2025-05-19 13:05:49 +02:00
Ashley Harrison fbf12126f8 Internationalisation: Fix crowdin download action (#105531)
* fix filesChanged command

* try this instead

* try again...

* try again...

* AGAIN

* maybe?

* maybe?

* just trying this up, im pretty sure this is what it was originally

* Revert "just trying this up, im pretty sure this is what it was originally"

This reverts commit a036cbb32f.

* directly use crowdin-download output

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-19 11:56:23 +01:00
Santiago 180b67ca6c Remote Alertmanager: Make timeout configurable in alert senders (#105599) 2025-05-19 12:52:12 +02:00
Alex Khomenko 15c903fa5c Provisioning: Refactor createOnCacheEntryAdded (#105228)
* Provisioning: Refactor createOnCacheEntryAdded

* Use custom list resource type

* add generated types and transformers

* Switch to type guards

* Do not create new array
2025-05-19 13:23:23 +03:00
Alexander Akhmetov c58ac15031 Alerting: Remove grafanaManagedRecordingRules feature flag (#105569) 2025-05-19 12:15:49 +02:00
Alex Khomenko f83fb35bfb Betterer: Add noMargin prop check (#105409)
* Chore: Add a betterer rule for noMargin prop

* Use existing file selector

* Check for grafana/ui import

* Update results

* Update results
2025-05-19 12:34:13 +03:00
Fiona Liao b674c31579 Fix typo in traceql editor (#103476)
Drildown -> Drilldown
2025-05-19 10:29:27 +03:00
Ieva 2cddaf0781 RBAC: Remove dashboard and folder guardians (#104646)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* replace the use of newByFolder guardian with direct access control evaluator checks

* remove newByFolder guardian

* get rid of dashboard and folder guardians

* undo unwanted change

* undo unwanted change

* undo unwanted change

* update code owners
2025-05-19 09:48:16 +03:00
Johnny Kartheiser bf87c6f774 docs: edits for alerting learning content (#105500)
* docs: edits for alerting learning content

edits for alerting learning content

* vale'd

* left nav change

* final adjustments

link fixes and the like

* Update _index.md
2025-05-18 22:08:52 -05:00
David Harris a3952ff85a docs: remove transformation content for legacy graph panel (#105534)
docs: remove content for legacy graph panel

Given the legacy panel is not compatible with G12 - our current docs should not cover it and we can remove from the page
2025-05-17 13:57:14 +01:00
Kevin Minehart d0637bba5b CI: Update patch check event to use workflow_call (#105478)
* add pr-patch-check-event workflow_call

* remove unneded permission

* sender -> sender_login

* Add my branch as a target for testing

* fix branch name

* use pull_request event

* fix repo in list

* maybe repositories not prefixedby org?

* fix permissions

* remove my branch

* Missing @

* Add missing CODEOWNER entry

* call workflow from my branch and add oidc debugger

* add my branch to list for testing

* remove my branch; use workflow from main; remove oidc debug

* retrigger CI
2025-05-16 18:39:17 -06:00
Ieva feaaf96269 RBAC: Remove folder guardians part 2 (#104645)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* replace the use of newByFolder guardian with direct access control evaluator checks

* remove newByFolder guardian

* remove unintentional changes

* remove unintentional changes

* undo unwanted change
2025-05-17 00:25:07 +03:00
David Allen c457a0c750 Updates SECURITY.md to align with current security & bug bounty guidance (#105572)
Update SECURITY.md

update with links to current guidance and bug bounty program
2025-05-16 17:19:09 -04:00
alerting-team[bot] 44c3c5a29d Alerting: Update alerting module to 2484dbaf55cfe9236e296e113ddbc35136f2feb3 (#105350)
* [create-pull-request] automated change

* populate Image ID

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

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-16 23:39:32 +03:00
Adam Simpson 4eadb0fec8 ds-querier: handle execute errors better (#105496)
* ds-querier: handle execute errors better

* fix: change how GetResponseCode works to return 418 if rsp is nil

418 is a bit of an easter egg which in this case works since we don't
have an rsp but we do know something went wrong, so a 200 won't work.

Also changed this to return the code in the frame, not sure why we
weren't.

* tests: fix GetResponseCode tests

* log no rsp case

* bring back og error log
2025-05-16 21:41:32 +03:00
Scott Lepper e0836a02f6 Dashboards - E2E test - New layout - textbox variable (#105493)
Dashboards - E2E - new layout - textbox variable
2025-05-16 12:33:13 -04:00
Alex Khomenko 48c5b55cdb Chore: Move rtk-client generator to scripts (#105548)
* Chore: Move rtk-client generator to scripts

* Fix path

* Update codeowners
2025-05-16 17:58:04 +03:00
Isabel Matwawana 14d8c5796a Docs: Improve raw format description and examples (#105410) 2025-05-16 10:48:36 -04:00
Syerikjan Kh b38662e985 Plugins: Add preinstall_sync config - allow plugins to be preinstalled synchronously (#105292)
* feat: preinstall_sync config - process and installation logic

* ref: add preinstall_sync list to preinstalled plugins of frontendsettings

* fix: conf blank line for sections

* ref: remove plugins async flag, and rename PreinstallPlugins

* docs: default installed plugin list
2025-05-16 10:45:50 -04:00
Irene Rodríguez 7e038b67a5 Fix typo (#105547) 2025-05-16 09:23:55 -05:00
Yuri Tseretyan f647faba5f Alerting: Prom Writer to handle 401 and 403 errors (#105498)
* handle 401 and 403 errors + try to extract information from underlying error.

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-16 17:11:05 +03:00
Kevin Minehart 9e08471858 CI: Fix release-comms workflow (#104968)
* pass around github_token
2025-05-16 16:49:53 +03:00
Navid Mafi 77e1acaf3f docs: fix grammar on set-up-grafana-live.md (#105545) 2025-05-16 08:48:41 -05:00
Sergej-Vlasov 48948ef48c RowItemRenderer: Fix row jumping when entering edit mode (#105453)
fix row jumping when entering edit mode
2025-05-16 14:20:43 +01:00
Victor Marin 10628e8741 Dashboards: Refactor URL state preservation functionality when reloading on params change (#104780)
* move preserve to scenePage level, fix issues with restoring variables and failing to reload dd

* refactor and fix preserve/reload url state

* cleanup

* lint

* lint

* reference this PR in comment
2025-05-16 16:16:30 +03:00
kay delaney 73e973f5f6 Dashboards/E2E: Validate editing of dashboard title & description (#105473) 2025-05-16 13:32:07 +01:00
Ryan McKinley d896f31c43 Dashboards: report valid folder count (#105484) 2025-05-16 14:51:04 +03:00
Jean-Philippe Quéméner 648e0bc660 fix(util): flaky debouncer test (#105541) 2025-05-16 13:47:09 +02:00
Andreas Christou b886093fe6 Azure Monitor: Support request timeout configuration (#105487)
Support request timeout configuration
2025-05-16 11:53:13 +01:00
Sriram fcb1e9c9e5 Postgres: Improve invalid port specifier error during health check (#105536)
normalize error message in postgres invalid port specifier error
2025-05-16 11:51:12 +01:00
Irene Rodríguez 778563223b Add link to form for Git Sync early acess (#105535)
Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>
2025-05-16 10:45:53 +00:00
Ieva aecfc576be RBAC: Mark some role fields as required for schema (#105328)
mark some role fields as required for schema
2025-05-16 13:09:01 +03:00
Peter Štibraný 1ffe653156 Revert change of order of checks when setting up resource DB (#105514)
* Revert change of order in newResourceDBProvider

* Ignore error in provisioningSecrets when working with wrong DB.

* Update workspace.

* Add owner.
2025-05-16 11:35:36 +03:00
Matheus Macabu 8dda9da035 Dependencies: Bump authlib to support service identity in claims (#105513) 2025-05-16 10:52:30 +03:00
Mihai Doarna 1099422050 Docs: Update the page on configuring SCIM with AzureAD (#105477)
* update the docs on configuring SCIM with AzureAD

* run prettier

* fix note block

* fix typo
2025-05-16 10:02:22 +03:00
Haris Rozajac 8cb9f0a36c Dashboard: Use metadata.generation for dash version in v1 (#105499) 2025-05-16 10:00:34 +03:00
Sven Grossmann 6343a9caf8 Extension Sidebar: Set max width to 2/3 of page width (#105497) 2025-05-16 08:31:20 +02:00
Jean-Philippe Quéméner 002f46736a refactor(unified-storage): move generated protos to own pkg (#105356) 2025-05-15 21:36:52 +02:00
Charandas aa2cf8e398 Remove kube-aggregator from OSS (#103659)
* feat: remove kube-aggregator for OSS and provide injection points with runner iface

* upgrade authlib to support expiresIn

* new FT

* new FT again

* update go.mod

* get rid of the slice implementation

* reconcile conflicts

* gracefully handle enterprise not being linked situation with kubeAggregator FT true

* allow dataplane agg and kube agg to both be added to delegate chain

* make update-workspace

* address feedback

* revert go.mod changes

* go.mod updates

* elaborate on why and how of skipping the Ready channel handling

* after rebase and make run
2025-05-15 11:14:23 -07:00
Ashley Harrison da36279312 Chore: Modify i18n-download action to work with mulitple sources (#105492)
modify i18n-download action to work with multiple sources
2025-05-15 17:12:39 +00:00
Dana Axinte 581d153604 SecretsManager: Introduce DecryptAuthorizer (#105459)
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-15 17:52:14 +01:00
Mustafa Sencer Özcan 167b201525 fix(unified-storage): add pagination support for folder list (#105444) 2025-05-15 18:43:44 +02:00
Ashley Harrison d4d1514ecb Internationalisation: Move some config to crowdin.yml to upload multiple files (#105480)
* move some config to crowdin.yml to upload multiple files

* explicitly add the type

* different dest for plugins

* better dest
2025-05-15 17:19:29 +01:00
Ryan McKinley da24ad06bd Provisioning: Hide full path for classic provisioing resources (#105440) 2025-05-15 16:01:12 +00:00
Alex Spencer 0041c7e9b7 Table: Fix nested table bug (#105133)
chore: remove expandedKey index for key rerendering
2025-05-15 08:50:54 -07:00
David Harris a32b379177 chore: correct links for jaeger data source (#105475)
* chore: correct links for jaeger data source

* Update plugin.json

* test fix attempt
2025-05-15 16:44:36 +01:00
Andres Martinez Gotor b2387c1a31 Advisor: Allow to skip a step (#104454) 2025-05-15 16:58:45 +02:00
Ieva 6f1382a0c8 RBAC: Remove folder guardians part 1 (#104449)
* replace usage of folder guardians with access control evaluators

* remove NewByFolderUID guardian

* bring up to date

* fix test

* more test fixes, and don't fetch the folder before evaluating lib element access

* change what error is returned

* fix alerting test

* try to fix linter errors

* we don't assign general folder write permissions, reverting to the previous logic for general folders
2025-05-15 17:55:19 +03:00
Peter Štibraný 7d0f73058b api/admin: Reenable AdminApiReencrypt tests, fix enterprise version of the test. (#105462)
* Reenable tests. Fix access to "key" column when using mysql.
2025-05-15 16:25:30 +02:00
Alex Spencer b77bf98890 ConvertFieldType: Update "join with" to work on array of strings (#105074)
* fix: update join with to work on array of strings

* chore: simplify

* chore: cleanup

* chore: add tests!

* fix: more robust check
2025-05-15 07:17:57 -07:00
Sonia Aguilar f7cad3a2fe Alerting: Update docs rules bulk actions (#105442)
* enable pause/unpause bulk actions

* Update docs for pause/resume rules evaluations within a folder
2025-05-15 16:06:15 +02:00
Ashley Harrison aa0842a1e7 Internationalisation: Mark up azure monitor plugin (#105262)
* start marking up azuremonitor

* more markup

* finish mark up

* add package and correct imports

* convert to functional component + use correct t import

* fix duplicate key + typo

* add extract config + fake french translations to test

* run prettier and fix unit tests

* use nx

* enable i18n lint rules for azure monitor

* remove fake french translations

* await initPluginTranslations

* top level await breaks unit tests

* leave as class component for now
2025-05-15 13:31:49 +00:00
Matheus Macabu d7715c4220 Dependencies: Bump packages in modules with incorrect dependencies or outside of workspace (#105455)
* Dependencies: Bump github.com/getkin/kin-openapi from v0.131.0 to v0.132.0

* Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12

* Dependencies: Bump golang.org/x to latest
2025-05-15 13:09:49 +00:00
Simon Podlipsky 2d779373c4 chore(dx): constrain node.js to <23 (#105436) 2025-05-15 14:05:56 +01:00
Andres Martinez Gotor 76d4953879 Advisor: Include deprecated and filter by plugin slug (#105383) 2025-05-15 14:53:49 +02:00
Taewoo K. 634fa9a67d update logicmonitor logo (#105423) 2025-05-15 08:43:22 -04:00
Mariell Hoversholm 467b88eec5 Test: Make timeout 1ns to minimise flakiness (#105437) 2025-05-15 14:18:09 +02:00
Mustafa Sencer Özcan a776556ae8 feat(unified-storage): build full path internally when getting folders (#105316) 2025-05-15 15:14:59 +03:00
Dominik Prokop 28d2ed495c Schema v2: Remove redundant util (#105382)
* Schema v2: Remove redundant util

* FIx lint
2025-05-15 14:00:25 +02:00
Dominik Prokop 30c2a11a06 Dashboards V2 API: Ignore conversion status when the /dto response is V2 spec (#105381)
* Dashboards V2 API: Ignore conversion status when the /dto response is V2 spec

* fix lint
2025-05-15 14:00:07 +02:00
Sergej-Vlasov 09bed3721d TabsLayoutManagerRendere: Fix custom grid not rendering inside a tab (#105452)
fix custom grid not rendering inside a tab
2025-05-15 12:58:32 +01:00
Peter Štibraný ba111e612b Skip TestIntegration_AdminApiReencrypt. (#105454)
* Skip TestIntegration_AdminApiReencrypt and TestIntegration_AdminApiReencrypt_Enterprise.
2025-05-15 11:38:42 +00:00
Pepe Cano bb04b9c55b docs(alerting): MissingSeriesEvalsToResolve and New Stale alert instances docs page (#105415)
* docs(alerting): New `Stale alert instances` docs page and document the `Missing series evaluations to resolve` option.

* update meta description
2025-05-15 13:36:59 +02:00
Igor Suleymanov d75a930548 Update grafanactl installation instructions (#104616) 2025-05-15 08:54:32 +00:00
Dana Axinte 61ceaec0d6 SecretsManager: Move actor/auth filtering layer to rest storage (#105414)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-15 09:48:16 +01:00
grafana-pr-automation[bot] 7e942c87c4 I18n: Download translations from Crowdin (#105430)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-15 09:26:56 +01:00
Natalia Bernarte Oses 1846f3ea60 update commands to inclue datapro labels (#105345) 2025-05-15 10:19:21 +02:00
Natalia Bernarte Oses d7a410ddcb Update codeowners to include datapro (#105344)
update codeowners to include datapro
2025-05-15 10:18:16 +02:00
Peter Štibraný 7268d6c1bc admin api: Fix reencryption of private_key in signing_key table, introduce test for reencryption (#105010)
* Add integration test for reencrypting secrets.
Rotate keys before reencryption.
Test for setting table from enterprise repo.
2025-05-15 09:51:25 +02:00
Artur Wierzbicki 3b1008b7c9 Git Sync: wording around cloud availability (#105427) 2025-05-15 09:43:05 +02:00
Hugo Häggmark 119d5897ea i18n: imports use @grafana/i18n (#105177)
* i18n: everything should target @grafana/i18n

* wip

* chore: updates after PR feedback

* Trigger build

* Trigger build

* Trigger build

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: skip flaky tests

* chore: revert all flaky tests

* chore: some incorrect usages of useTranslate
2025-05-15 09:17:14 +02:00
Alexander Akhmetov d8dd2facdd Alerting: Enable alertingMigrationUI feature flag by default (#105419) 2025-05-15 08:44:13 +02:00
Kevin Minehart 06e8b5a2f8 CI: Upload test result reports on PRs as well as pushes to protected branches (#105431)
Always upload test result report
2025-05-14 21:18:34 -05:00
Scott Lepper 3175a04f45 Dashboards: Edit Pane - Ad Hoc Filter Variables (#105304)
Dashboards: Edit Pane - Ad Hoc Filter Variables
2025-05-14 20:31:49 -04:00
Sarah Zinger db828d0f00 DS-Querier: Add additional logs (#104841) 2025-05-14 15:07:08 -04:00
Haris Rozajac 6e3d8eb118 Dashboard Import: Support import for resources (#105127)
support import for resources
2025-05-14 12:41:51 -06:00
Tom Ratcliffe 16668b993f Alerting: Enable alerting eslint overrides for package (#104678) 2025-05-14 20:30:52 +02:00
Andreas Christou 404eff947c Azure: Update E2E image (#105420)
Update image and trigger build
2025-05-14 18:57:43 +01:00
Jack Baldry 39e7804557 Add comments explaining what pages the aliases redirect and fix broken aliases (#105408) 2025-05-14 19:45:35 +03:00
Sonia Aguilar 5beb0d626d Alerting: Enable pause and unpause bulk actions in the alert list view (#105363) 2025-05-14 17:56:28 +02:00
Pepe Cano 4ae91715df docs(alerting): Add two common examples in Learn section (#105325)
* docs(alerting): Add two common examples in `Learn` section

* Update docs/sources/alerting/learn/examples/multi-dimensional-alerts.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* Update docs/sources/alerting/learn/examples/multi-dimensional-alerts.md

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>

* mention `summary` annotation in multi-dimensional alerts example

* Remove note about alert grouping

* minor edits to section: `Differences with time series`

* minor grammar change

---------

Co-authored-by: Johnny Kartheiser <140559259+JohnnyK-Grafana@users.noreply.github.com>
2025-05-14 17:10:32 +02:00
Lucy Chen 0c699d4a72 Bug: Fix Shared Dashboard hide header logo (#105348)
fix header
2025-05-14 11:01:08 -04:00
Kevin Minehart db1f7d494c CI: Upload go unit test reports on pushes to main (#105280)
* generate junit reports in backend unit tests

* add quotes

* add my branch for testing

* Fix results file

* add missing quote

* remove my branch
2025-05-14 09:29:38 -05:00
Dana Axinte 8c64078965 SecretsManager: Keeper and secure value contracts, secretkeeper changes (#105379)
Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-14 15:24:25 +01:00
Alex Khomenko 137639e0de Provisioning: Block resource edit operations (#104767) 2025-05-14 17:23:41 +03:00
Tom Ratcliffe edfe690ea2 Chore: Move Mock API into separate package (#104644) 2025-05-14 16:50:34 +03:00
Irene Rodríguez acbc7b54ed Fix broken links (#105341) 2025-05-14 17:26:46 +04:00
Mihai Doarna 039b1765a0 Docs: Update the guide on how to configure SCIM with okta (#105377)
* update docs on how to configure SCIM with okta

* fix enterprise link

* add introductory paragraph under "Configure provisioning settings"

This paragraph has been added to avoid stacked headings that break the flow of the documentation and hurt SEO

* split SCIM connector base URL config for cloud and onprem

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-14 16:13:49 +03:00
Matias Chomicki 815d17bd5c Logs: Fixed prettify JSON behavior with unescaped content (#105390)
* LogRowMessage: unescape after prettifying

* Add unit tests
2025-05-14 15:06:19 +02:00
Hugo Häggmark d614d4f7d5 Chore: adds grafana/i18n to CODEOWNERS (#105360)
Chore: Update CODEOWNERS
2025-05-14 15:05:08 +02:00
Tobias Skarhed 9a98dfc826 Scopes: Fix highlighting of current active dashboard. (#105333)
* Do not match current link based on startsWith

* Add test and take query params into account

* Extract dashboard path handling

* Expand comment
2025-05-14 14:18:24 +02:00
Sonia Aguilar 550e60fe48 Alerting: Check permissions for showing create recording rules button (#105256) 2025-05-14 13:35:33 +02:00
Ryan McKinley 441fa18590 Chore: Update golang.org/x/ and do not omitempty Items (#105371)
* deps and omitempty Items

* update apis
2025-05-14 14:31:45 +03:00
Jack Westbrook 99c9a47a7a Chore: Bump plugin-e2e to latest (#104435)
* chore(e2e): update plugin-e2e to canary version for testing

* chore(e2e): bump playwright/test to 1.52.0

* empty commit

* chore: bump to major version

* Trigger build

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-05-14 12:52:36 +02:00
Ryan McKinley 4da4482ec5 Provisioning: Avoid writing 1970 date (#104912) 2025-05-14 13:24:15 +03:00
Andreas Christou e60ece3389 Graphite: Ensure template variables are interpolated correctly (#105354) 2025-05-14 11:14:54 +01:00
Ivan Ortega Alba aa72d800a1 FilterByValueTransformer: Suggest variable regex formatter (#105272)
---------

Co-authored-by: Sam Jewell <sam.jewell@grafana.com>
2025-05-14 11:44:43 +02:00
Hugo Häggmark a30b1c4bee i18n: Fix for translations from plugin settings (#105358) 2025-05-14 10:45:28 +02:00
Matheus Macabu 4b426238bd Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12 (#105193)
* Dependencies: Bump github.com/openfga/openfga from v1.8.6 to v1.8.12

* Linter: Replace x/exp/rand with math/rand/v2

* NGAlert: Fix test after linter fixes
2025-05-14 11:09:00 +03:00
Irene Rodríguez ed4680495a fix broken links (#105343) 2025-05-14 10:06:31 +02:00
Pepe Cano b53f68ea5e docs(alerting): Correct gotcha when using dynamic labels (#105347) 2025-05-14 10:00:30 +02:00
Mariell Hoversholm e8482e166e Actions: Introduce a Trufflehog action (#105359) 2025-05-14 08:33:25 +02:00
Alex Khomenko f18727b3c1 Grafana/ui: Add noMargin prop to Card and Field (#105223)
* Card: Add noMargin prop to remove the bottom margin

* Add noMargin to Field
2025-05-14 07:58:15 +03:00
Ryan McKinley f0d6375b3b Codegen: format golang code from cue (#105352) 2025-05-14 06:56:27 +03:00
Johnny Kartheiser a26d907dae docs: bulk delete alert rule group (#105087)
* docs: bulk delete alert rule group

first draft

* icon name fix

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* prettier

* prettiest

---------

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2025-05-13 16:32:15 -05:00
Taewoo K. 2a3aa4bc12 add LogicMonitor datasource (#105200)
* add LogicMonitor datasource

* update plugin name

* import image

* update file name

* fix import order
2025-05-13 17:27:08 -04:00
kay delaney 3d5689cd07 Dashboards/E2E: Add tests for drag and drop (#105066) 2025-05-13 20:27:40 +01:00
Kyle Brandt 5e056c2a3f SQL Expressions: Add sql expression specific timeout and output limit (#104834)
Adds settings for SQL expressions:
 sql_expression_cell_output_limit

Set the maximum number of cells that can be returned from a SQL expression. Default is 100000.

sql_expression_timeout

The duration a SQL expression will run before being cancelled. The default is 10s.
2025-05-13 15:22:20 -04:00
beejeebus 02d977e1af InfluxDB: Fix variable interpolation on adhoc filters (#104931)
Grafana frontend code sends adhoc filters to the backend in both the
`tags` and `adhocFilters` params.

The values in `tags` have dashboard variables interpolated, while those
in `adhocFilters` don't. This PR updates the frontend code to
also interpolate variables into the `adhocFilters` param.

The duplicated values are left as they are in `tags`, in case some other
spooky code at a distance relies on that.
2025-05-13 15:06:11 -04:00
renovate[bot] f44bd32698 Update dependency centrifuge to v5.3.5 (#105349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 18:57:53 +00:00
renovate[bot] 2562f28cb1 Update dependency @reduxjs/toolkit to v2.8.1 (#105339)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 19:04:27 +01:00
renovate[bot] 2302c8ad6c Update dependency react-dropzone to v14.3.8 (#104854)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 15:54:08 +00:00
Dana Axinte 5158dce936 SecretsManager: Changes to specs as ref, description, system keeper (#105319)
* SecretsManager: Changes to specs as ref, description, system keeper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec ref, description, system keeper

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec description

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

* SecretsManager: Changes to rest storage for spec description

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>

---------

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-05-13 16:40:17 +01:00
Leon Sorokin 9d6ce37f68 Table: Avoid creating links in cells when data links have empty href (#103666)
* Table: Avoid creating links in cells when data links have empty href

* Copy logic to TableNG

* Do not add non-clickable links to context menu

* Don’t pass if undefined

* Add tests to cover datalink logic changes

* Trigger Build

---------

Co-authored-by: Kristina Durivage <kristina.durivage@grafana.com>
Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-13 10:14:12 -05:00
Collin Fingar 56d67f9ffc GrafanaUI: Added Unit Tests to Components (#105302)
* GrafanaUI: Added Unit Tests to Components

* Updates per feedback / lint fix
2025-05-13 11:11:29 -04:00
Alexander Akhmetov 9fe523b9e6 Alerting: API to pause all alert rules in a folder (#104674) 2025-05-13 17:04:01 +02:00
Natalia Bernarte Oses 81d72bcfc7 Update tableNextGen stage (#105231)
* Update tableNextGen stage

Update tableNextGen toggle to public preview

* add missing comma

* added generated files
2025-05-13 17:00:29 +02:00
Tom Ratcliffe 1af3acf0c5 Chore: Fix prettier missing extensions files (#105321)
* Ignore locales files more generically

* Use `ignore-path` for prettier

If we don't specify this, it will use `.gitignore` as well, which will ignore enterprise files.

This means that the code in enterprise will drift and easily ends up with prettier issues
2025-05-13 13:34:24 +00:00
Mariell Hoversholm cc7accf0e7 Actions: Add a workflow to add pr/external labels (#105326) 2025-05-13 15:00:01 +02:00
Sergej-Vlasov 012bfa29be Dashboards/E2E: Add tests for grouping and ungrouping into rows and tabs (#105315)
* add e2e for grouping into tabs and rows

* enable kubernetesDashboards feature toggle for e2e tests

* remove unnecessary kubernetesDashboard feature flag enablement
2025-05-13 13:58:09 +01:00
ismail simsek 7da1c9073e Prometheus: Mectircs browser refreshes metrics when series limit changes (#104101)
* refetch when series limit is changed

* when series limit is empty use the default series limit

* tests for timerange handling

* attempt to reduce the test file size

* remove ineffective memory tests

* update test

* clearer tests

* update help text

* update limit tooltip
2025-05-13 14:32:13 +02:00
Javier Ruiz b79c8b2a94 Add width to select components to not span the whole width (#105323) 2025-05-13 12:59:46 +01:00
Santiago 6c3d89f390 Remote Alertmanager: Add timeouts to the HTTP client (#105279)
* Remote Alertmanage: Add timeouts to the HTTP client

* code review suggestions
2025-05-13 13:25:56 +02:00
Mariell Hoversholm 08c55b60ab Actions: Shard test suite (#105166) 2025-05-13 13:08:19 +02:00
Ariana 00749b27e4 Docs: Make role evaluation more transparent (#101377) 2025-05-13 10:09:24 +00:00
Ryan McKinley 8738bab8b2 Chore: Update grpc to v1.72.0 (#105311) 2025-05-13 12:49:42 +03:00
Alexander Akhmetov 29128f7ae4 Alerting: Copy alertmanager configuration before decrypting (#105271) 2025-05-13 11:46:17 +02:00
Josh Hunt 91d9cac157 FEMT: Call /bootdata and render grafana (#105176)
* rename /mtfe route to /femt to match project name

* set correct navTree JSON property name

* call GetWebAssets in the request handler to prevent stale assets during development

* Call /bootdata and render grafana

* set nonce on script

* write csp header in index handler

* write report-only csp as well

* debug stuff

* more debug logging

* move importing app into a seperate, async-loaded module

* Clean up comments

* make /femt redirect to / in the frontend

* remove console.log

* remove stale commented code

* call __grafana_load_failed if bootstrap fails

* comment for __grafana_boot_data_promise

* remove console.log

* remove blank newline

* codeowners
2025-05-13 09:58:46 +01:00
Torkel Ödegaard 621414ea6f RowsLayout: Fixes issue with custom grid not showing (#104640)
* RowsLayout: Fixes issue with custom grid not showing

* Update
2025-05-13 10:42:30 +02:00
Ida Štambuk 1e13f48172 Prometheus library: Replace data-test-id with data-testid (#105269)
Add data-testid
2025-05-13 10:38:26 +02:00
Ryan McKinley 8866f2cfc1 Provisioning: Split progress on \r (#105268) 2025-05-13 10:59:08 +03:00
Alexander Akhmetov cf53100f1d Alerting: Mark grafanaManagedRecordingRulesDatasources feature toggle as generally available (#105226) 2025-05-13 09:54:43 +02:00
Roberto Jiménez Sánchez 047499a363 Provisioning: introduce concept of provisioning extras (#104981)
* Spike: Extras

* Attempt to wire it up

* Hack

* Fix issue with jobs

* Wire more things up

* Fix more wiring stuff

* Remove webhook secret key from main registration

* Move secret encryption also outside register

* Add TODOs in code

* Add more explanations

* Move connectors to different package

* Move pull request job into webhooks

* Separate registration

* Remove duplicate files

* Fix missing function

* Extract webhook repository logic out of the core github repository

* Use status patcher in webhook connector

* Fix change in go mod

* Change hooks signature

* Remove TODOs

* Remove Webhook methos from go-git

* Remove leftover

* Fix mistake in OpenAPI spec

* Fix some tests

* Fix some issues

* Fix linting
2025-05-13 09:50:43 +02:00
Gábor Farkas 98df41235d datasources: query-service url fix (#105178) 2025-05-13 09:36:20 +02:00
Ryan McKinley 242cb8edbd Dashboards: Use string for AnnoKeyDashboardIsSnapshot (#105306) 2025-05-13 10:09:34 +03:00
Victor Marin c6428dfc74 Bump scenes and fix types (#105167)
* bump scenes and fix types

* bump scenes

* refactor

* refactor + test

* naming
2025-05-13 09:29:02 +03:00
Mariell Hoversholm c92ff0ca75 Actions: Introduce actionlint (#105224) 2025-05-13 08:23:59 +02:00
Mariell Hoversholm 99273f15eb Actions: Reject GH secrets (#105289) 2025-05-13 08:13:28 +02:00
Mariell Hoversholm 65ac0ed3e9 Actions(pr-commands): use GITHUB_TOKEN (#105283) 2025-05-13 07:28:47 +02:00
grafana-pr-automation[bot] c9b2ab3aff I18n: Download translations from Crowdin (#105305)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-13 03:33:44 +03:00
Alexander Akhmetov 50d1b2e786 Alerting: Document grafanaManagedRecordingRulesDatasources feature flag (#105227) 2025-05-12 23:34:06 +02:00
Alexander Akhmetov c17b019ab1 Alerting: Support simplified routing receivers in Prometheus conversion API (#105135)
Adds ability to set notifications settings using the Prometheus conversion API.

The API now supports a new optional header: X-Grafana-Alerting-Notification-Settings which can be used to specify notification settings.

The value of the header is the AlertRuleNotificationSettings structure in JSON:
mimirtool rules load alerts.yaml --extra-headers 'X-Grafana-Alerting-Notification-Settings: {"receiver": "my-webhook", "group_by": ["cluster", "pod"]}'
2025-05-12 22:07:02 +02:00
Alexander Akhmetov e965b85e19 Alerting: Fix link in the migration docs (#105295) 2025-05-12 14:59:27 -05:00
Artur Wierzbicki 9c2f7212f7 Git Sync: remove grafanaAPIServerEnsureKubectlAccess from required toggles (#105296)
remove grafanaAPIServerEnsureKubectlAccess
2025-05-12 17:44:12 +00:00
Tom Ratcliffe 54f6c4ffba Grafana-UI: Fix storybook icons (#105276) 2025-05-12 19:47:28 +03:00
Pepe Cano 20d48674fc docs(alerting): clarify types of query data and tabular data example (#105168) 2025-05-12 17:59:52 +02:00
Haris Rozajac 82f0a58490 Dashboard: Improve diffing by handling the Infinity value (#105037)
* convert infinity values to 0

* convert infinity in V1 transformer

* update test
2025-05-12 08:06:02 -06:00
Gilles De Mey cc4d151487 Alerting: Set folder permissions to "view" for nested folder selectors (#105258)
set folder permissions to "view"

alerts are allowed to be created in folders where the user only has the
"read" permission, "write" permissions is not required and is only used
to allow creating new folders.
2025-05-12 15:59:30 +02:00
Alexander Akhmetov a643abd92a Alerting: Fix mentions of Prometheus in the import data source alerts documentation (#105234) 2025-05-12 15:49:59 +02:00
AlecIsaacson b7ca728578 Update set-up-for-high-availability.md (#105270) 2025-05-12 13:13:23 +00:00
Juan Cabanas c8231c7ee9 Reporting: Remove reportingApi skeleton (#105201) 2025-05-12 10:05:32 -03:00
Matheus Macabu afc0fd39ac Dependencies: Unpin and bump github.com/getkin/kin-openapi from v0.126.0 to v0.132.0 (#105185) 2025-05-12 14:59:51 +02:00
Mariell Hoversholm 0a83cccc11 Coverage: Remove codecov collection (#105264) 2025-05-12 14:59:25 +02:00
Scott Lepper b2a6174b2c Dashboard edit pane interval variable (#105202)
* add interval variable
* remove label from query variable button
2025-05-12 08:45:24 -04:00
Santiago 15be9861d0 Remote Alertmanager: Remove code for remote only mode (#105184) 2025-05-12 14:25:43 +02:00
Torkel Ödegaard e8b9f0ecf6 RowsLayout: Remove unused code / logic (#104759) 2025-05-12 14:16:25 +02:00
Robby Milo 84c354c3bb Update whats-new posts (#105242)
update whats-new posts
2025-05-12 12:08:00 +00:00
Santiago b434925adc Remote Alertmanager: Add tracing to the HTTP client used for POSTing alerts and the readiness check (#105235) 2025-05-12 14:57:42 +03:00
Irene Rodríguez 3a601e0a3d Fix broken links (#105250)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-05-12 14:49:48 +03:00
Sven Grossmann 46f437db06 Extension Sidebar: Change aiassistant-app to assistant-app (#105239) 2025-05-12 14:23:32 +03:00
Tito Lins 638972c787 Alerting: fix tests (#105240) 2025-05-12 14:00:12 +03:00
Alex Khomenko a9b6d098e9 Chore: Add eslint no-restricted-globals rule (#104519)
* Chore: Add no-restricted-globals eslint rule

* Fix eslint warnings

* Revert some changes

* Update

* Feedback
2025-05-12 12:38:26 +03:00
Tom Ratcliffe 8f17f607fa FEMT: Add no-restricted-img-srcs rule (#105006) 2025-05-12 10:34:17 +01:00
Torkel Ödegaard 56cfeb8616 TabsLayout: Fixes issue with fill screen rows or auto grids (#104669) 2025-05-12 10:43:43 +02:00
Santiago 51d7aa2bef Remote Alertmanager: Configure SMTP From address (#104925)
* Remote Alertmanager: Configure SMTP From address

* include smtp from address in config comparison

* updte tests

* trigger build

* make linter happy

* trigger build

* fix test
2025-05-12 10:37:27 +02:00
Santiago 7edace5e88 Remote Alertmanager: Remove comparison before sending the state (#104930)
* Remote Alertmanager: Remove comparison before sending the state

* fix test

* fix test
2025-05-12 10:34:06 +02:00
Ben McCain 539b7f0d72 Documentation: Typo Correction to fix feature toggle (#105203) 2025-05-12 10:23:50 +02:00
Andres Martinez Gotor 0d4884cb3b Advisor: Avoid one GCOM request per plugin (#105180) 2025-05-12 09:45:56 +02:00
Mustafa Sencer Özcan cb28213f1d chore(unified-storage): add dual writer metric to track instance modes (#105144) 2025-05-12 09:18:06 +02:00
Ryan McKinley 719b5fe9cc Dashboards: Remove numeric folder id from annotation metadata (#105225) 2025-05-12 10:11:55 +03:00
Georges Chaudy e162c69c34 search: fix document missing at startup (#105198)
* fix document missing at startup

* go-lint

* fix tests

* fix tests

* fix integration tests now that we are storing real values
2025-05-12 07:56:25 +02:00
Artur Wierzbicki d91e4b0582 Live: bump centrifuge (#105214)
* bump centrifuge

* make update-workspace
2025-05-11 22:50:31 +04:00
grafana-pr-automation[bot] e9b5492124 I18n: Download translations from Crowdin (#105207)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-10 03:31:24 +03:00
Artur Wierzbicki 9f4d489d7b Feature flags: fix ownership for some flags (#104864)
* fixup flag ownership

* regen

* readd backend group

* individualCookiePreferences back to backend

* test fix
2025-05-10 02:02:16 +03:00
Juan Cabanas c2a54cd997 Reporting: Add tags in reportApi (#105142) 2025-05-09 16:13:36 -03:00
Pepe Cano a1b1de584c docs(alerting): fix broken links due to using shared md files (#105195)
* docs(alerting): fix broken links due to using shared md files

* fix prettier errors

* fix aliased links
2025-05-09 21:03:38 +02:00
Kyle Brandt 6a6ba723a9 SQL Expressions: Add internal GMS traces (#104836)
get trace from inside GMS
2025-05-09 14:48:47 -04:00
Drew Slobodnjak feb1ac5ba7 Geomap: Fix marker layer for line string features (#103937)
* Geomap: Fix marker layer for line string features

* Update layer stack to handle line strings
2025-05-09 21:20:14 +03:00
xiyu95 4067341544 chore: add variant prop to Counter (#105141)
* chore: add className prop to counter

* chore: make className optional

* chore: wrap in cx

* chore: add variant to counter

* chore: run prettier fix
2025-05-09 10:47:50 -07:00
beejeebus 8f79e4882f Replace usage of http.DefaultClient and http.DefaultTransport (#104135)
Remove usage of http.DefaultClient and http.DefaultTransport

Part of grafana/data-sources#484
2025-05-09 13:26:39 -04:00
beejeebus 8f4b2bbece InfluxDB: Fix regex for finding regexes in frontend code (#105194)
When interpolating variables in the frontend, we want to be sure to
escape special characters if the variable is used in a regex.

We used a regex to find regexes in raw queries, which contained a bug.
The regex treated any `/` character as the start of a regex. However,
InfluxQL (and most sql dialects) support using `/` as a division
operator.

This PR adds a check for `=~` or `!~` immediately preceding `/` as the
beginning of a regex, as per the InfluxQL spec for regexes:

https://docs.influxdata.com/influxdb/v2/reference/syntax/influxql/spec/#regular-expressions

Fixes https://github.com/grafana/support-escalations/issues/16219
2025-05-09 13:04:53 -04:00
cristian-caloghera 0e7e0b5f29 Prometheus: Add example field for setting the scrape interval in provisioning docs (#105186)
provision Prometheus: added example field how to set the scrape interval

When using Prometheus as a datasource Grafana can optionally know the scrape interval of Prometheus. In the GUI it is easy to spot, however when provisioning the datasource the example was lacking this information.

This commit adds this missing field as an example.
2025-05-09 18:48:35 +02:00
Collin Fingar 6ebf49a383 QueryLibrary: Added IsVisibility property to Query data (#104579)
* QueryLibrary: Added IsVisibility property to Query data

* Added asserts for unit test

* generated openapi changes
2025-05-09 12:46:19 -04:00
Tom Ratcliffe e2cb3e74f3 Chore: Apply testing-library rules to grafana-ui package tests (#105140)
* Apply testing-library rules to grafana-ui package tests

* Apply auto fixes

* Fix eslint test issues in grafana-ui package

* Fix prettier issues

* Address review feedback
2025-05-09 17:45:33 +01:00
Matthew Jacobson 5795ba34f9 Alerting: Update grafana/alerting from de176b4a0309 to 83b6de6b0a35 (#105157)
* Update grafana alerting from de176b4a0309 to 83b6de6b0a35

Includes:
- https://github.com/grafana/alerting/pull/319
- https://github.com/grafana/alerting/pull/317

* Remove unused SendWebhook method from sender struct

grafana/alerting hasn't used the grafana webhook sender for a while now,
so this method is no longer used anywhere.

- Removed SendWebhook from the sender struct and rename it to emailSender
so that its use is clearer.
- Also, for similar reasons, the Webhook method on Grafana's
webhook sender `sendWebRequestSync` should not call grafana/alerting code for
NewTLSClient. The previous grafana/alerting function is vendored into grafana.

* Use BuildReceiverIntegrations new func signature
2025-05-09 12:26:20 -04:00
Nick Moore 5e6c926b9c Build: Update codeql to scan Actions (#105136)
Modifies the repository's codeql configuration to include GitHub Actions in its scanning
2025-05-09 16:15:58 +01:00
Konrad Lalik 13ebcf1d2c Alerting: Optimize rules fetching on the folder's rules tab (#104777)
* Mark labels and annotations as optional in Grafana ruler DTO

* Refactor AlertsFolderView to use folder-specific endpoint for rules loading

* Improve tests for BrowserFolderAlertingPage

* Update translations

* Revert go changes

* update gen files

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-09 16:20:45 +02:00
Scott Lepper a687c4a757 Dashboard: Edit pane - Query variable editor (#105038)
* query variable editor
* add regex, sort, refresh
* make the label and spacing consistent
* add test for changing datasource
* make the preview label consistent with all labels on the editor
2025-05-09 10:06:15 -04:00
Hugo Kiyodi Oshiro 43748e43bb Plugins: Add plugins auto update feature (#104112) 2025-05-09 15:58:04 +02:00
Alexander Akhmetov 42028a1b03 docs(alerting): Add a note about sequential evaluation (#104224)
* docs(alerting): Add a note about sequential evaluation

* Update docs
2025-05-09 15:43:17 +02:00
Georges Chaudy 15b3de5893 search: add index batching (#104163)
* add basic search backend integration tests

* add search backend benchmark

* add benchmark indexServer

* fix

* lint

* add more tests

* lint

* do not use the poller

* batch write

* refactor and add tests

* improvements

* improvements

* cleanup

* only observe index success

* add monitorIndexEvents method

* nit use switch instead of if

* make newIndexQueueProcessor private

* simplify runProcessor

* go lint
2025-05-09 15:36:21 +02:00
Sonia Aguilar 0ceea29787 Alerting: Remove alertingSimplifiedRouting feature toggle (#104980)
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-05-09 16:30:56 +03:00
Josh Hunt 7345ba35a1 TimeZonePicker: Replace underscores with space (#104891)
* TimeZonePicker: Replace underscores with space

* add name to search

* update e2e test
2025-05-09 13:58:16 +01:00
maicon 82bbbf1a98 Run Init Provisioners at Server Initialization (#105080)
* Run Init Provisioners at Server Initialization

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-05-09 09:21:36 -03:00
Andres Martinez Gotor 8ef8185379 Advisor: Ensure User-Agent header is set for checks (#105122) 2025-05-09 13:57:17 +02:00
Alex Khomenko 0978ec5e91 Chore: Skip flakey loki query editor e2e test (#105170) 2025-05-09 13:33:27 +03:00
Pepe Cano 8c8cc31746 docs(alerting): No Data/Error state enhancements (#105100)
* docs(alerting): `No Data/Error` state enhancements

* fix `behavior`(american english)
2025-05-09 12:01:37 +02:00
Jack Westbrook a3cd68d47f Plugins: Fix unauthorized message on login screen (#105053)
fix(plugins): hide error alert for unauthed users
2025-05-09 09:05:07 +02:00
Hugo Häggmark 902658ef89 Plugins: updates plugin schema descriptions (#105160) 2025-05-09 05:56:37 +00:00
Hugo Häggmark 8a2af6166c i18n: adds @grafana/i18n package (#104603)
* i18n: adds grafana/i18n

* Trigger build

* chore: fix frontend lint

* chore: refactor

* chore: refactor

* chore: expose getI18nInstance in shared deps

* chore: refactors away second init

* Trigger build

* chore: updates after PR feedback

* chore: sync with enterprise

* chore: adds shouldUnescape

* Trigger build

* chore: makes functions internal

* Trigger build

* chore: fix for Pseudo locale

* chore: bumps package version

* chore: fix the version of i18n package
2025-05-09 05:45:20 +02:00
grafana-pr-automation[bot] fcd0e56850 I18n: Download translations from Crowdin (#105158)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-09 03:32:10 +03:00
Fayzal Ghantiwala 0c47d96195 Alerting: Add debug log for alert timestamps before sending to external Alertmanager (#105156)
Add debug log for alert with timestamps
2025-05-09 01:25:05 +03:00
AlecIsaacson f648590b74 Update set-up-for-high-availability.md (#105139)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
2025-05-08 15:03:10 -05:00
Santiago 57640e40a2 Remote Alertmanager: Consider auto-gen routes when flagging a config as "default" (#105120)
* Remote Alertmanager: Consider auto-gen routes when flagging a config as 'default'

* remove always-nil error from isDefaultConfiguration

* remove unnecessary context.Background() in test

* pass orgID to autogenFn call during AM creation

* fix test

* make update-workspace
2025-05-08 21:04:30 +02:00
Matias Chomicki d5235f52c5 LogListControls: make tooltip more obvious (#105138)
* LogListControls: make tooltip more obvious

* Update test
2025-05-08 20:30:19 +02:00
colin-stuart a5708105df SCIM: validate external UID (#105046)
* SCIM: validate externalUID

* better tests

* add additional test cases

* add externalID as field in fromUserToUserSchema

* fix test case
2025-05-08 13:59:55 -04:00
Tom Ratcliffe 1716696175 Chore: Improve how mock API is enabled/disabled (#104675) 2025-05-08 20:03:51 +03:00
Drew Slobodnjak 3dc5742a75 Geomap: Add variable support for GeoJSON url (#104587)
* Geomap: Add variable support for GeoJSON url

* Add a check for variable dependency

* Add tests for hasVariableDependencies function

* Update docs

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

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

---------

Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-05-08 09:17:03 -07:00
Ashley Harrison a049ddece7 Chore: Clean up completed tasks in CrowdIn (#105118)
* clean up tasks as part of action

* split into separate files/steps

* remove unnecessary comment

* update CODEOWNERS
2025-05-08 17:12:28 +01:00
Isabel Matwawana 543ebd27bf Docs: Fix broken links (#105131) 2025-05-08 15:36:08 +00:00
Matheus Macabu fe9e96507a Chore: Run make update-workspace (#105126) 2025-05-08 18:30:20 +03:00
Josh Hunt ded1aacdb6 Auth: Translate Auth provider form fields (#105059)
* first pass at translating all of auth config

* rename variables

* translate missing phrases

* add more
2025-05-08 15:42:30 +01:00
Ezequiel Victorero 310b234fbc Reporting: Update filter and docs to get reports by dashboard (#104560) 2025-05-08 11:35:43 -03:00
Tom Ratcliffe eb57fb427d Chore: Attempt to fix flaky clipboard button test (#105105) 2025-05-08 17:35:01 +03:00
Konrad Lalik 620260fabc Alerting: Fix alert list V2 preview toggle (#105062)
* Use custom storage for previewing alerting features configuration

* Fix tests, add localStorage mock

* Use store singleton
2025-05-08 16:23:45 +02:00
Gilles De Mey 53b4112abe Alerting: Add versioning to the API client (#104944) 2025-05-08 16:17:28 +02:00
Collin Fingar 682943ed1a GrafanaUI: Added Unit Tests to Components (#105083)
* GrafanaUI: Added Unit Tests to Components

* Fixed typo
2025-05-08 09:53:11 -04:00
Matheus Macabu 9fb20efea9 Chore: Bump Go version to 1.24.3 (#105098) 2025-05-08 15:28:03 +02:00
Ashley Harrison c1e408e3aa Combobox: Don't render a 0 in the input suffix when the value is 0 (#105107)
* don't render a 0 in the input suffix when the value is 0

* remove .only

* update unit test
2025-05-08 16:19:41 +03:00
keerthanamsys e14c17ef69 TimeZonePicker: Fix incorrect country mapping for Asia/Singapore timezone (#105061)
* Fix incorrect country for Asia/Singapore timezone

* Add test

* link to gh issue

* skip test

---------

Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-05-08 14:16:18 +01:00
Ashley Harrison 0acfa001fd Profile page: Add horizontal scroll for teams table (#105111)
add horizontal scroll for teams table
2025-05-08 14:10:06 +01:00
Ashley Harrison f0216431af TimePicker: Change timepicker calendar to use the correct background token (#105108)
change timepicker calendar to use the correct background token
2025-05-08 13:59:44 +01:00
Gilles De Mey c78ae5cb76 Alerting: Move alerting codegen to --grouping=group (#105068) 2025-05-08 12:59:33 +00:00
ismail simsek 9156149960 Prometheus: Move to new annotation support as the old one is deprecated (#104578)
* remove deprecated annotation support and introduce the new one

* create annotations.test.ts

* convert the old annotations to new format

* don't override query if it has necessary fields

* a better implementation

* remove comment

* fix

* fix react errors

* unit tests for annotation query editor

* two more tests
2025-05-08 13:32:42 +02:00
Peter Štibraný 7042e73343 pkg/promlib: Fix go.mod (#105095)
make update-workspace
2025-05-08 12:18:32 +02:00
Josh Hunt d91ff0b018 Admin: Rename White labeling to Custom branding (#104874)
* Admin: Rename White labeling to Custom branding

* c
2025-05-08 13:03:42 +03:00
a3exodus 36987338ea docs: Add missing RBAC Action Definitions Synthetic Monitoring (#102852)
* docs: RBAC permissions action definitions synthetic monitoring

* Prettier

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

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-08 10:28:00 +01:00
grafana-pr-automation[bot] b215f5bf08 I18n: Download translations from Crowdin (#105089)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-08 09:12:45 +00:00
Andres Martinez Gotor 60670003b1 Advisor: Reduce and spread load (#105012) 2025-05-08 11:04:30 +02:00
Misi 1254fb9b68 Advisor: Return array of CheckReportFailures from checks (#104958)
* Return array from Run

* Change NewCheckReportFailure signature
2025-05-08 10:42:38 +02:00
Esteban Beltran e88b3383bf Docs: Add page for customization plugin pages in the navigation bar (#105051)
* Docs: Add page for customization plugin pages in the navigation bar

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-05-08 08:35:36 +00:00
Giuseppe Guerra f8f21a08d6 Plugins repo: Ensure normalized versions are used to select compatible plugin versions (#105065) 2025-05-08 10:05:44 +02:00
Yuri Tseretyan 3e2296acd3 Alerting: Support for active time intervals in notification policies (#104252)
* add active_time_intervals to route model

* update k8s compat layer

* update notification policies service to validate active time intervals

* update integration tests

* update openapi

* add active time interval to model

* update route generator to include active time interval

* Update storage list and rename methods to handle active intervals

* update api model

* update provisioning and export models

* update ui to allow active timing config

* update i18n

* fix snapshots for ui tests

* run prettier

* Alerting: Active time intervals UI naming (#104402)

* update naming in UI

* update naming in the edit page title

* update translations

* update alerting module

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-05-07 19:19:33 -04:00
Jacob Valdez a8dee54aa4 Docs: Adding what's new entry for Logs Drilldown JSON table viewer (#105085) 2025-05-07 21:35:58 +00:00
Artur Wierzbicki 38a298a502 Backend: doc explaining the shift to K8s-inspired architecture (#104385)
* draft docs

* Update contribute/architecture/k8s-inspired-backend-arch.md

* review

* https explanatino

* review

* review

* link to storage interface

* make prettier happy
2025-05-07 23:33:39 +03:00
Collin Fingar aba4621344 Grafana UI: Adding Some Unit Tests (#104804)
* Grafana UI: Adding Some Unit Tests

* updates per feedback

* Updates per feedback
2025-05-07 15:32:43 -04:00
Artur Wierzbicki c781b0922e Live: logging fix (#105054)
logg fix
2025-05-07 22:16:16 +04:00
Yusuf Ali Koyuncu 8b2e0d80d0 chore: add unit tests for admission handler (#104650)
* refactor: remove unused code in the function

* test: add unit tests for admission handler

* Revert "refactor: remove unused code in the function"

This reverts commit b8f48dbdbf.

* revert: added again due to incorrectly made test scenario

* test: add unit tests for admission handler
2025-05-07 20:06:54 +02:00
Jacob Valdez 8a94376c8e Docs: fixing weights of upgrade guide (#105070) 2025-05-07 11:07:29 -05:00
Sergej-Vlasov d095cb4e04 AutoGridLayoutManager: Preserve variableName when switching between auto and custom grids (#104856)
preserve variableName when switching between auto and custom grids
2025-05-07 16:07:39 +01:00
Ashley Harrison 2a02fd7239 Chore: run i18n lint rules in enterprise as well (#105064)
run i18n lint rules in enterprise as well
2025-05-07 15:47:35 +01:00
Tom Ratcliffe 6f3200d4f0 Re-enable jsx-a11y recommended rules (#104637)
* Re-enable `jsx-a11y` recommended rules

* apply rule in correct place, couple of fixes

* fix up some a11y issues

* add ignore for keyboard a11y for now

* readd testid

* close carousel on backdrop click

* use type="button"

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-05-07 15:43:48 +01:00
Sergej-Vlasov 60ea65ca69 DashboardNewLayouts: Add e2e workflow for dashboardNewLayouts (#104995)
* rename dashboard new layouts e2e path for clarity

* add workflow for dashboardNewLayouts e2e

* adjust workflow error

* remove forced fail from workflow

* formatting
2025-05-07 15:27:53 +01:00
Fahad Siddiqui 750b90e756 chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874) (#104227)
* chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874)

* chore: Deprecate Layout components - Replace Horizontal/VerticalGroup with Stack (#86874)

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/jaeger/components/QueryEditor.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/QueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/DurationInput.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/panel/nodeGraph/ViewControls.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/SearchField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/tempo/SearchTraceQLEditor/TraceQLSearch.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/panel/nodeGraph/ViewControls.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Update public/app/plugins/datasource/zipkin/QueryField.tsx

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>

* Fixed linting issue - spacing problem in different import groups.

* Updated betterer results with improved 1 test.

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-05-07 17:14:10 +03:00
colin-stuart d05b2862b6 SCIM: update docs with externalId field & correct endpoint (#105026)
* SCIM: update docs with externalId field

* better phrasing

* vale warning fix

* explain where mapping is configured

* clarify assertion_attribute_login

* better phrasing

* even better explanation

* remove confusing step

* remove confusing line

* linter fixes

* improve Integrating with SCIM Provisioning section

* bigger warning about scim/saml unique identifier mismatch

* lint

* vale fixes

* Add Integrating with SCIM Provisioning part

---------

Co-authored-by: Vardan Torosyan <vardants@gmail.com>
2025-05-07 09:45:11 -04:00
Cory Forseth 9c5e34f513 Authorization: Fix filtered role display (#104953)
* handle null or empty group and displayName properties on roles

* fix display name bug for fixed roles with a period
2025-05-07 16:35:50 +03:00
Adam Yeats eb240aaa3c Elasticsearch: Update CODEOWNERS for Elasticsearch datasource (#104859)
Update CODEOWNERS for Elasticsearch datasource
2025-05-07 15:34:07 +03:00
Gabriel MABILLE 6b588f4c93 Migrations: Make sure users uid are set (#104996)
* Migrations: Make sure default admin has a uid

* Account for all users not only id 1

* Add spanner

* Wrong migration to add spanner

* Fix spanner mig
2025-05-07 13:40:32 +02:00
kay delaney 343ab96030 Dashboards/E2E: Add tests for removing panel(s) (#104998)
* Dashboards/E2E: Add tests for removing panel(s)
2025-05-07 14:31:53 +03:00
Tom Ratcliffe ec478138a5 Chore: Fix import/ordering for image imports (#105055) 2025-05-07 13:41:56 +03:00
Gilles De Mey 125200c566 Remove double spinner (#105057) 2025-05-07 12:29:14 +02:00
Alexa V c594faa64e Dashboard: Fix Panel Explore link subpath duplication (#104952)
* Stop appending subpath in onNavigateToExplore function old-arch
* we are using assureBaseUrl inside getExploreUrl function

* adjust test to ensure subPath is not added to the url

* fix linting
2025-05-07 11:29:37 +02:00
Konrad Lalik e3d9c5d33e Alerting: Add support for unknown rule state (#105052)
Add support for unknown rule state
2025-05-07 11:25:44 +02:00
Sonia Aguilar 277d271476 Alerting: Add delete bulk action in the alert list view (#104611)
* Add pause/unpause bulk actions button in the alert list view

* add delete bulk action

* Add tracking and refactor FolderActionMenuItem

* update translations and text

* update text

* add finally

* use ability for delete action

* don't show bulk actions if no action is allowed

* invalidate tags for delete action

* revert invalidating and redirect to list page instead

* redirect when pausing/unpausing

* add pause/unpause endpoints

* add translations

* add folder name in delete modal

* address pr review

* disable pause/unpause

* update redirect

* remove unnecessary prop

* rename FolderActionMenuItem component to PauseUnpauseActionMenuItem

* address review comments

* fetch rules before redirecting in list view 1

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
2025-05-07 11:25:31 +02:00
Hugo Häggmark 3c904c701d Docs: Updates plugin.schema.json (#105047) 2025-05-07 11:10:16 +02:00
Sonia Aguilar 16005af4b7 Alerting: Add skipSubpath option when redirecting to details view page (#104994)
add skipSubpath option when redirecting to details view page
2025-05-07 10:39:00 +02:00
Gareth Dawson 977e923555 Jaeger: Migrate "search" query type to backend (#103399)
* jaeger backend migration

* move processing to JaegerClient.Search

* fix upload query error source type

* suggestions

* lint

* fix link to traceid query

* fix tests

* fix tests

* use consistent types

* add tests for TransformSearchResponse fn

* test search function

* fix filtering using tags

* suggestion

* remove unnecessary arguments

* use logfmt parser for tags

* test

* test

* use logfmt for query tags

* update

* go fmt

* run backend for all queryTypes

* run make update-workspace

* assign owner to logfmt pkg in go.mod

* apply suggestions

* update tests

* trigger workflows?
2025-05-07 09:34:04 +01:00
Tobias Skarhed a4efb73774 Betterer: Add eslint rule for non-direct usage of localStorage (#104919)
* Add eslint betterer rule for non-direct usage of localStorage

* Fix linting
2025-05-07 10:28:32 +02:00
grafana-pr-automation[bot] ce89900be4 I18n: Download translations from Crowdin (#105045)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-07 08:16:25 +00:00
Vardan Torosyan 08d7e75b5c Docs: SAML docs refactoring (#103450)
* Docs: SAML docs refactoring

* Cleanup the root page

* Update the root file

* Refactor Azure AD guide

* Change the order of the tree

* Remove the index file again, back from main

* SAML UI page review and editing

* Review and edit SAML config options page

* SAML signing and encryption edit/review

* Remaining pages and aliases

* Fix PR comments

* More fixes

* Update _index.md

* Update _index.md

* Update _index.md

* Apply suggestions from code review

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

* Handle PR comments

---------

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-05-07 10:07:57 +02:00
Tom Ratcliffe 67214c0a56 Alerting: Tidy up some leftover logic from pre-alertingApiServer (#104776) 2025-05-07 10:32:23 +03:00
Tito Lins a7fe77cdbf grafana-ruler: add new alert query fields (#104933) 2025-05-07 09:30:34 +02:00
Taylor C 8d0d48f2a8 DocsMetricsDrilldown: Removes outdated Metrics Drilldown content (#104972)
docs: Removes outdated Metrics Drilldown
2025-05-06 16:58:08 -07:00
Matias Chomicki 441e45d88a New Logs Panel: Handle long lines (#103171)
* LogLine: introduce truncation limit

* Processing: turn LogListModel into a class

* LogLine: introduce collapsed/expanded state and read from model

* Virtualization: correct extra line for controls in size

* LogLine: fix collapsed state initialization

* Add new criteria to define long lines to truncate

* Virtualization: better truncation limit

* Check collapsed state based on container size

* Update function name

* Extract translations

* LogLine: update unit test

* virtualization: add unit test

* processing: update unit test

* Fix focused test

* processing: process fields on demand

* Logs: consider loading state from explore

* LogList: improve resize and recalculation

* chore: build?
2025-05-07 01:26:54 +03:00
Jacob Valdez 9f3e894b8e Docs: updating video shortcode in what's new post (#105039) 2025-05-06 17:02:47 -05:00
Alex Spencer 2c1851e8c8 TableNG: Filter and sort sub tables (#104327)
* feat: filter and sort sub tables

* chore: extract row processing into it's own function for filtering and sorting

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-06 15:45:26 -06:00
Serge Zaitsev bf918976b2 Chore: Add snowflake xorm tag (#104300)
* add tag handler for snowflake ids

* add snowflake generator

* fill snowflake id back to the bean

* table driven test, mockable snowflake generator

* use math/rand/v2

* snowflake without time.sleep

* more explicit bitwise modulo

* rename snowflake to randomid
2025-05-06 21:12:11 +02:00
Kevin Minehart 1877b671cb CI: use push event instead of pull_request_target in pr-patch-check.yml (#105011)
* use push event instead of pull_request_target

* pull request sha -> push sha

* remove PR specific stuff from pr-patch-check

* use my branch for testing

* use main now that it's working
2025-05-06 19:04:49 +00:00
Ed Welch 8379a7b441 Loki: re-add loki stream option for expiremental loki-live mode (#104928)
re-add loki stream option for expiremental loki-live mode
2025-05-06 11:37:55 -07:00
Galen Kistler afbf312152 Logs: Fix table panel not rendering on initial load in Explore (#105023)
fix: table panel on initial load
2025-05-06 12:42:33 -05:00
Scott Lepper 68c513e190 Dashboard edit pane E2E - add constant variable test (#104877)
Dashboard edit pane - add constant variable test
2025-05-06 13:12:57 -04:00
Fayzal Ghantiwala 1e43043354 Update go.mod package versions (#104985)
Fix dashboard error during go mod tidy
2025-05-06 18:03:27 +01:00
Scott Lepper 5d5786afe2 Dashboard - edit pane textbox variable (#104893)
Dashboard - edit pane textbox variable
2025-05-06 13:01:20 -04:00
Scott Lepper dff7a79071 Dashboard templating e2e - fix flaky timezone (#104906)
Dashboard templating e2e - fix flaky timezone
2025-05-06 12:58:56 -04:00
Alexander Zobnin dde613bbe8 Settings: Exclude zanzana client token value from output (#105018)
* Settings: Exclude zanzana client token value from output

* add test

* fix tests
2025-05-06 18:54:48 +02:00
Isabel Matwawana de60959b2b Docs: Change codeowners for sql expressions page (#105021) 2025-05-06 12:09:12 -04:00
Will Browne 9c2846c4fb Plugins: Separate pluginv2 interfaces from ProtoClient interface (#104795)
split interfaces
2025-05-06 17:02:32 +01:00
Larissa Wandzura 59cb0176bc Docs: removed backslashes in SQL code in SQL expressions doc (#105009)
* removed backslashes in SQL code

* fixed SQL
2025-05-06 10:41:20 -05:00
Kim Nylander 02042c1ac0 Add landing page for Obs as Code doc (#105015) 2025-05-06 16:59:08 +02:00
Juan Cabanas 3204942a86 ShareDrawer: Add onDismiss prop (#104658) 2025-05-06 11:31:59 -03:00
Mustafa Sencer Özcan dc63f8003c fix(unified-storage): make full path setting optional on get folders (#104757) 2025-05-06 16:20:49 +02:00
Larissa Wandzura fa93b3b74c DOCS: Prometheus data sources documentation overhaul (#104427)
* initial updates

* additional updates - index and config dos

* made edits, renamed the index files.

* Close unclosed shortcode

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

* updated main and config docs

* edits to query editor and templates

* final edits to landing page

* added updates

* made a few additional edits

* edits

* final edits and changes per dev feedback

* reviewed titles and headings; ran prettier

* added ref URIs

* Update docs/sources/datasources/prometheus/template-variables/_index.md

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

* Update docs/sources/datasources/prometheus/configure/_index.md

Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>

* Update docs/sources/datasources/prometheus/template-variables/_index.md

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

* updates based on feedback

* ran prettier

* updates due to feedback

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ismail simsek <ismailsimsek09@gmail.com>
2025-05-06 14:02:52 +00:00
Jack Westbrook b78044511f Extension Sidebar: Prevent plugin errors from breaking Grafana (#104983)
feat(extensionsidebar): add an errorboundary to prevent crashing entire app if plugin goes pop
2025-05-06 15:45:44 +02:00
Yuri Tseretyan c8d92ee06a Alerting: Refactor applyConfig in Alertmanager (#104970)
* refactor: remove applyAndMarkConfig

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-05-06 09:36:22 -04:00
Luminessa Starlight 228fbcd495 GrafanaUI: feature toggle access in Grafana UI (#104500)
* add set/get feature toggles functions to grafana/ui

* configure grafana/ui feature toggle localeFormatPreference in app init

* revert more complex approach and use contained access to global
2025-05-06 08:53:13 -04:00
Misi 691c1bb0f2 Chore: Update labels on OAuth config UIs (#104960)
* Update lables on OAuth config UIs

* Extract i18n data

* Small fixes
2025-05-06 14:17:55 +02:00
Konrad Lalik f79f6efdcb Alerting: Use Prometheus endpoint as a primary source of data on the new list page (#104538)
* Bring back contact points filter

* Use GMA Prometheus endpoint as main source of truth on the list page

* refactor: improve error handling in GrafanaRuleLoader
2025-05-06 14:09:29 +02:00
Konrad Lalik f2b9830fda Alerting: Improve secret fields handling in contact points (#104386)
* Refactor ChannelOptions and related components for improved secure field handling

- Updated ChannelOptions to utilize integrationPrefix for path management.
- Introduced getOptionMeta for dynamic option metadata handling.
- Enhanced ChannelSubForm to manage secure fields and subform deletions.
- Refactored OptionField and SubformField to support new secure field logic.
- Adjusted types for better clarity and integration with the form context.

* Fix Combobox sizing

* Refactor ChannelSubForm and ChannelOptions for improved field handling

- Updated ChannelOptions to enhance secure field management.
- Refactored ChannelSubForm to replace Select with Combobox for better user experience.
- Adjusted type options handling in ChannelSubForm to align with new Combobox implementation.
- Cleaned up unused code and improved overall readability.

* Refactor contact point components for improved secure field handling and remove obsolete secure settings field

- Removed secureSettings from various components and tests to streamline the receiver configuration.
- Updated GrafanaReceiverForm to manage secure fields more effectively.
- Enhanced test cases for Slack contact points to ensure proper field behavior based on user input.
- Introduced a factory for creating mock Grafana contact points and receiver configurations for better test coverage.

* Improve conversion from form values to grafana receivers

* Revert Combobox migration and bring back Select for contact point type selector

* Update Grafana OnCall to Grafana IRM in notifier settings and enhance test coverage for SNS contact points

- Renamed notifier settings from 'Grafana OnCall' to 'Grafana IRM' in mockGrafanaNotifiers.
- Updated test cases in GrafanaReceiverForm to handle SNS contact points, including secure field management.
- Improved test assertions and added new tests for SNS integration to ensure correct behavior and state management.
- Refactored related components for better clarity and maintainability.

* Add secret fiels removal tests

* Fix mocks, remove Combobox changes

* Update snapshots

* Remove obsolete snapshot
2025-05-06 14:07:49 +02:00
Andres Martinez Gotor 9b17cd44dc Advisor: Use contextual logger (#104979) 2025-05-06 13:58:29 +02:00
Ashley Harrison c36d84376b Chore: ignore react package upgrades for now (#105001)
ignore react package upgrades for now
2025-05-06 12:54:39 +01:00
Irene Rodríguez e5c2309ad3 remove cascade: noindex (#104997) 2025-05-06 11:29:52 +00:00
Will Browne a5649b6e1d Plugins: Fix issue with propagating ID token downstream for RunStream requests (#104833)
fix issue
2025-05-06 11:41:32 +01:00
Irene Rodríguez 5526443007 fix broken links in "get started with observability as code" (#104956) 2025-05-06 09:38:33 +00:00
jackyin 7a2fc797fb TestData: Fix json unmarshal error in simulation scenario (#104612)
* fix simulation json error

* Trigger build
2025-05-06 07:29:06 +02:00
Stephanie Hingtgen f5fd7a15b6 K8s: GetFolders to return default limit (#104976) 2025-05-06 08:09:18 +03:00
Levente Balogh bcb2a7e36f Plugin Extensions: Read-only props for extension components (#102079)
* feat: pass read-only props to extension components

This initial commit is used to verify that things are broken in case
the datasource object is not cloned before passed in as a prop.

* chore: update tests

---------

Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
2025-05-06 06:55:23 +02:00
grafana-pr-automation[bot] 61a8495485 I18n: Download translations from Crowdin (#104974)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-06 03:33:27 +03:00
github-actions[bot] b39797bb4f Release: update changelog for 12.0.0 (#104959)
* Update changelog

* Empty commit to unblock GHA

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-05-05 22:23:32 +00:00
Alex Spencer 36dde3401c TableNG: Align sparkline value correctly (#104909)
fix: align sparkline value correctly

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-05 16:03:12 -06:00
Sven Grossmann 2f41c7c289 Extension Sidebar: Fix not opening the stored component (#104649)
* Extension Sidebar: Fix not opening the stored component

* empty
2025-05-06 00:25:02 +03:00
Jacob Valdez d5e3be1b02 Docs: What's new, Upgrade guide, and breaking changes v12.0 (#102748)
Co-authored-by: Jacob Valdez <jacob.valdez@grafana.com>
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
2025-05-05 16:12:25 -05:00
Alex Spencer 44447c0ca0 Dashboards testing: Update failing test (#104966)
fix: update dashboards test
2025-05-05 15:58:45 -05:00
Alex Spencer cab241fbb6 TableNG: Always use correct original row index (#104561)
* fix: change row index

* chore: remove unused param
2025-05-05 13:16:05 -06:00
Victor Marin b9cb445148 DashboardDatasource: Debounce results slightly to avoid flickering on zoom (#102887)
Debounce all results slightly to avoid false positive DONE flickering
2025-05-05 20:20:31 +03:00
Victor Marin 2f397516e6 DashboardDS: Clone series to not mutate original frames (#104518)
* DashboardDS: Clone series to not mutate original frames

* rename test
2025-05-05 20:18:12 +03:00
Alex Spencer 72932e10b2 TableNG: Fix sparkline sorting + column key config (#104008)
* fix: sorting sparkline cells

* fix: prevent same cell name issues

* chore: clean

* chore: bring back nuked sparkline fix

* chore: mob feedback

* chore: use getDisplayName function

* chore: missed two!!

* chore: improved betterer results

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-05-05 10:46:07 -06:00
Larissa Wandzura eafba2b023 Docs: New SQL expressions doc (#104908)
* reorged content

* made several edits

* some final cleanup

* vale linter changes

* linter change

* ran prettier

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-05-05 16:45:53 +00:00
Laura Fernández bff75e1561 CVE: upgrade undici version (#104927) 2025-05-05 17:34:16 +02:00
Kim Nylander fe5188b5b0 [DOC] Add landing page and focus for Obs as Code docs (#104832)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
Co-authored-by: Artur Wierzbicki <artur.wierzbicki@grafana.com>
2025-05-05 16:19:22 +02:00
Kim Nylander bad3d7c2db [DOC] Make Obs as Code docs public (#104843)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-05-05 16:19:17 +02:00
Matheus Macabu c90e2e8e5e SecretsManager: Add (en/de)cryption packages (#104923)
Merging the code as-is from the feature branch: secret-service/feature-branch

Co-authored-by: PoorlyDefinedBehaviour <brunotj2015@hotmail.com>
Co-authored-by: Dana Axinte <53751979+dana-axinte@users.noreply.github.com>
Co-authored-by: Leandro Deveikis <leandro.deveikis@gmail.com>
Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
Co-authored-by: Michael Mandrus <michael.mandrus@grafana.com>
2025-05-05 15:26:52 +02:00
Matheus Macabu 7900a53e05 Docs: Fix extra whitespace in Prometheus configs on Grafana Monitoring setup (#104916)
Co-authored-by: danielkenlee <115471695+danielkenlee@users.noreply.github.com>
2025-05-05 15:25:06 +02:00
Andres Martinez Gotor 0d50efe198 Preinstall: Avoid overwriting development versions (#104781) 2025-05-05 14:51:35 +02:00
Andrej Ocenas 8435eb2876 Scopes: Command Palette (#103720)
* Add pills in search bar for context

* Add scope actions

* Add selection functionality

* Show selected scope on secondary row

* Fix selected scope titles

* Add some basic tests

* Test for toggle by name

* Remove unnecessary mocking

* Small cleanups

* Lint fixes

* Fix test

* Update public/app/features/scopes/selector/ScopesSelectorService.ts

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>

* Bump input and breadcrumbs test

* Change breadcrumbs color

* Makes the breacrumb spacing consistent

---------

Co-authored-by: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com>
2025-05-05 14:00:20 +02:00
Piotr Jamróz d4fd3aa7c7 FlameGraph: Use named imports (#104042)
* FlameGraph: Use named imports

* Fix test imports
2025-05-05 13:20:01 +02:00
Jack Westbrook 1058a1a3f1 CI: Fix json parsing in levitate workflows (#104853)
* ci(levitate): remove backticks and escaping to fix json parsing

* ci(levitate): use code tag over escaping backticks - HTML FTW

* chore(prometheus-package): dummy commit to test levitate changes

* ci(levitate): use actions/github-script@v7 everywhere
2025-05-05 13:05:03 +02:00
Misi 7d1eda2e5e Advisor: Add checks for list validation for SSO Settings service (#104520)
* Add format validation for allowed_organizations and allowed_groups

* Refactor, introduce ListFormatValidation

* Add tests

* Update apps/advisor/pkg/app/checks/authchecks/list_format_validation.go

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

* Update apps/advisor/pkg/app/checks/authchecks/list_format_validation.go

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

* Use one step instead of multiple separate ones

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-05-05 12:10:49 +02:00
Ida Štambuk ddf33bcb66 CloudWatch: Fix variable interpolation for Logs queries (#104041) 2025-05-05 11:25:12 +02:00
Irene Rodríguez c7f55ea5c6 Create Foundation SDK docs (#104684)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Tom Glenn <tom.glenn@grafana.com>
2025-05-05 11:16:46 +02:00
Sonia Aguilar fd65b83a53 Alerting: Remove alertingInsights feature toggle (#104918)
remove alertingInsights feature toggle
2025-05-05 11:55:06 +03:00
Mariell Hoversholm fba0b10881 Actions(ephemeral-instances): Clone the ephemeral repo (#104920) 2025-05-05 11:52:18 +03:00
Mariell Hoversholm 6bb4879b39 Actions(ephemeral-instances): Migrate to Vault (#104848) 2025-05-05 10:18:45 +02:00
Gabriel MABILLE ef91e627d1 .gitignore: devenv for spanner (#104668) 2025-05-05 09:59:28 +02:00
Jack Westbrook 90f628abff Prometheus: Fix semver import path (#104756)
chore(prometheus): import from semver so consumers builds dont break with esm
2025-05-05 10:47:19 +03:00
Matias Chomicki 84dd26a2da Log Controls: Add dividers and increase max height of the panel (#104477)
* Logs panel: increase max height

* LogListControls: add divider
2025-05-05 04:33:18 +03:00
Kristina 8a4d215914 Transformations: Add percentage to unary operations (#97358)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-05-03 09:03:27 -05:00
Leon Sorokin 50d183e50c TableNG: Only cache field names on data changes (#104190) 2025-05-02 18:26:44 -05:00
Leon Sorokin a00ef79f5a Transformations: Prevent auto-naming of fields with alias in Calculate field (#104895) 2025-05-03 01:40:25 +03:00
Leon Sorokin c8384cf503 Transformations: Fix duplicate field names when joinBy follows groupBy (#104206) 2025-05-02 17:08:07 -05:00
Johnny Kartheiser 4aba287bbe docs: recorded queries migration documentation (#104505)
* docs: recorded queries migration documentation

draft

* vale'd

* Update index.md
2025-05-02 16:06:00 -05:00
renovate[bot] f13dbb32bb Update dependency downshift to v9.0.9 (#103777)
* Update dependency downshift to v9.0.9

* change conditional typing to error on the onChange property with an easier to read error instead of on the component
add workaround for type script not being able to infer when onChange can accept null
add type test

* better Combobox types!

* remove unused import

* make type changes more backwards compatible

* improve comment

* even better comments

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: samsch <git@samsch.org>
2025-05-02 16:36:44 -04:00
Kevin Minehart ec35e861e0 CI: move grafana-delivery-bot path in Drone (#104886)
* move delivery bot creds to vault

* format-drone
2025-05-02 11:55:23 -05:00
Ashley Harrison 0f93e02ae6 Storybook: Add viz hues to theme demo (#104889)
* add viz hues to theme demo in storybook

* don't need ThemeVizColor
2025-05-02 19:42:02 +03:00
Josh Hunt 033dc19b48 CI: Remove zizmor workflow in favor of org workflow (#104879)
* CI: Remove zizmor workflow in favor of org workflow

* Update CODEOWNERS
2025-05-02 11:33:29 -05:00
Kim Nylander 6043c8aed8 Update GitSync docs for delete dashboard (#104700) 2025-05-02 16:24:56 +00:00
Irene Rodríguez 09153c25be Add schema v2 new files (#104858)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-05-02 16:21:03 +00:00
Alex Spencer a8c4c824b9 TableNG: Use correct row index for background colour calculation (#104426)
* chore: row index is source index so just use that

* chore: fix better cause why not

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
Co-authored-by: Sven Grossmann <svennergr@gmail.com>
2025-05-02 08:39:03 -07:00
kay delaney 4812cdf1a7 Dashboards/E2E: Add e2e test for adding and configuring a new panel (#104857) 2025-05-02 16:23:49 +01:00
Isabel Matwawana 6727f797f5 Docs: Add hidden dynamic dashboards page (#104483) 2025-05-02 15:21:29 +00:00
Luminessa Starlight ded775b4e0 Docs: Move corepack instructions to where you can run them (#104729)
* move corepack instructions out from under macOS header

* move corepack instructions to new heading after downloading repo
2025-05-02 11:21:11 -04:00
Tom Ratcliffe a1b294e39f i18n: Fix incorrect interpolation in query group options (#104873) 2025-05-02 16:20:16 +01:00
Serge Zaitsev 694b9dfe50 Chore: Replace xorm.io/xorm imports (#104458)
* replace xorm.io/xorm imports

* replace xorm from other go.mod files

* clean up workspace

* nolint does not make sense anymore as it is not a module

* try if nolint directive helps

* use nolint:all for xorm

* add more nolints

* try to skip xorm in linter config

* exclude xorm differently

* retrigger ci
2025-05-02 17:13:01 +02:00
Juan Cabanas 847b07dee2 Reporting: Add API skeleton 2025-05-02 10:05:46 -03:00
renovate[bot] d8ffe6170e Update dependency rc-tree to v5.13.1 (#104624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 12:50:35 +00:00
Sergej-Vlasov 83cbe5f428 DashboardEditPane: Fix source viz panel selection (#104686)
* revert ae86746

* extract source viz panel for edit pane select
2025-05-02 13:38:37 +01:00
Mustafa Sencer Özcan 3f2ad925fb chore(unified-storage): remove debug logging for poller (#104862) 2025-05-02 15:02:17 +03:00
Ashley Harrison d8fb1e8e4e Chore: Harden action permissions (#104820)
* harden action permissions

* Update .github/workflows/ephemeral-instances-pr-comment.yml

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

* update documentation-ci

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-05-02 12:13:05 +01:00
renovate[bot] 9a7d85c85f Update dependency ol-ext to v4.0.31 (#104623)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 10:19:04 +00:00
Sergej-Vlasov 8766daa3c0 E2E: Align on how to use feature toggles in cypress tests (#104831)
align on how to use feature toggles in cypress tests
2025-05-02 09:32:28 +01:00
Peter Štibraný e85acf047a Remove use of dialect.LikeStr (#104460)
* Fix TestIntegrationUpdatingProvisionionedDashboards* tests when running on Spanner by fixing case-insensitive search for dashboard title.

* Fix use of case-insensitive LIKE when running on Spanner.

* Fix use of LikeStr in anonstore.

* Fix use of LikeStr in ngalert/store and org/orgimpl.

* Fix use of LikeStr in queryhistory search.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in serviceaccounts.

* Fix use of LikeStr in services/team.

* Remove LikeStr method.
2025-05-02 11:23:57 +03:00
grafana-pr-automation[bot] d7ebaafa94 I18n: Download translations from Crowdin (#104846)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-02 03:32:01 +03:00
Scott Lepper a9960ed4d2 add constant variable type to editor (#104662)
add constant variable type to editor
2025-05-01 15:37:13 -04:00
Isabella Siu 2d398af7fb Cloudwatch: Update grafana-aws-sdk to fix temp credentials single tenant (#104838)
Cloudwatch: update so that temp credentials work both multi and single tenant
2025-05-01 15:18:36 -04:00
Scott Lepper d30b39f350 Dashboard edit panel e2e (#104775)
setup suite for edit panel;  start adding test for custom variable edit
2025-05-01 15:14:36 -04:00
Dominik Prokop 1114d33936 Dashboard export: Allow exports by resource and in YAML format (#104149)
* Dashboard export: Allow YAML export

* use js-yaml to fix ci errors

* add yaml transformation in the "Copy to cilpboard"

* simplify

* new ui for resource exports

* simplify

* Don't show export mode for v2 dashboard

* Add metadata, apiVersion, add logic for export type resources

* i18n; switch title to as code

* update export as file button

* Remove managedFields from metadata export

* Remove metadata fields that are not needed for sharing externally

* Copy

* fix legacy mode

* address bugs

* Update public/app/features/dashboard-scene/sharing/ExportButton/ExportMenu.tsx

Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>

* i18n

* improve classic mode; rename

* Update public/app/features/dashboard-scene/sharing/ShareExportTab.tsx

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

* change order

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
Co-authored-by: Haris Rozajac <58232930+harisrozajac@users.noreply.github.com>
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2025-05-01 09:06:07 -06:00
Scott Lepper ca2ae82e80 allow setting multiple feature toggles in run-suite (#104821)
* allow setting multiple feature toggles in  run-suite
2025-05-01 11:00:04 -04:00
Kevin Minehart fd4afdbd2c CI: Use docker creds from ci/common (#104827)
Use docker creds from ci/common
2025-05-01 09:32:35 -05:00
Stephanie Hingtgen 6244b4d501 Dashboards: Fix cleanup job (#104822) 2025-05-01 17:27:13 +03:00
Ashley Harrison 75f1ed6d31 Internationalisation: add workflow to automatically create tasks in Crowdin (#104405)
* convert to ts

* fix path

* add yarn install step

* revert to commonjs for now

* weird syntax...

* test task creation

* just use workflow step id

* update workflow

* get workflow step id from crowdin

* testing...

* final test

* tidy up

* typescript with type assertion until upstream is fixed

* fix CODEOWNERS
2025-05-01 15:17:47 +01:00
Christopher Moyer 575a13e19d Docs: incorporates learning journey feedback (#104735)
incorporates learning journey feedback

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-05-01 09:03:56 -05:00
Alexa V 26ce124208 Dashboard: SchemaV2 - Fix Import showing grafana datasources (#104461)
* Fix: do not map when identifying default grafana ds

* add also datasource type

* Refactor code, add unit test

* Fix types references and linting

* Update public/app/features/manage-dashboards/state/actions.test.ts

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-01 15:47:04 +02:00
Esteban Beltran 065be6117e Chore: remove misc stats secret for issue commands (#104819)
remove cehck for misc stats
2025-05-01 15:23:18 +03:00
Yulia Shanyrova 700f208b6e Plugins: Add sponsorship link to plugin details panel (#104687)
Add sponsorship link to plugin details panel
2025-05-01 13:39:50 +02:00
Joey 3773429d10 Tempo: Add support for structural operators (#104400)
Add support for structural operators
2025-05-01 12:34:30 +01:00
Esteban Beltran ba6d0f59ff Chore: Issue triager, update vault paths (#104814)
* Chore: Issue triager, update vault paths

* Empty commit

* update commands tasjk
2025-05-01 14:31:59 +03:00
grafana-pr-automation[bot] af29132fc0 I18n: Download translations from Crowdin (#104817)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-05-01 13:52:25 +03:00
Ashley Harrison b8ac9fd866 Chore: i18n action - get secrets stuff from vault (#104816)
get PR_AUTOMATION stuff from vault
2025-05-01 11:33:36 +01:00
Ashley Harrison 162fed84b5 Chore: No fail-fast on e2e tests (#104812)
no fail-fast on e2e tests
2025-05-01 11:31:43 +01:00
Josh Hunt 035ecc15b2 CI: Fix Skye and E2E GHA workflows (#104811)
* CI: Use pr_automation_app in skye workflow

* CI: Fix e2e workflow artifact name

(cherry picked from commit e9fe1dedf7)

* remove old-arch check

(cherry picked from commit 960e2d057b)
2025-05-01 11:10:52 +01:00
Ashley Harrison 195dedf0fe Chore: Fix crowdin download action (#104809)
fix crowdin download action
2025-05-01 11:02:28 +01:00
Oscar Kilhed b8c5ca0632 E2E: Fix failing old arch test. (#104793)
* Wait for all queries

* wait for the item to become a button instead
2025-05-01 09:26:58 +00:00
Pepe Cano 3bb5a13275 docs(alerting): add new guides for handling missing data and connectivity errors (#104765)
* New `Learn` section and Handling connectivity errors guide

* guide: connectivity errors

* update metadata

* edit `Learn` page
2025-04-30 21:51:08 +02:00
Kevin Minehart 1faf52cd07 CI: update permissions for external workflows (#104800)
update permissions
2025-04-30 22:31:14 +03:00
Kevin Minehart e36d774d0c CI: update permissions on workflows which get external secrets (#104792)
update permissions
2025-04-30 17:32:44 +00:00
Artur Wierzbicki 36b810e1cc Dashboard API: Update dashboard version docs (#104565) 2025-04-30 16:38:14 +00:00
Ryan McKinley 2df2b169cc Provisioning: Require author name (#104789) 2025-04-30 19:33:21 +03:00
Ashley Harrison 821b44182e Chore: don't persist creds when checking out in actions (#104778)
* don't persist creds when checking out in actions

* kick CI

* kick CI

* actually commit the merge...

* don't need

* don't need
2025-04-30 17:20:57 +01:00
Esteban Beltran ecd1f5ba92 Chore: Fix remaining levitate zizmur issues and move to use vault (#104782)
* Chore: Fix remaining levitate zizmur issues and move to use vault

* Levitate CI: Remove secrets usage for WIF identity provider and SA (#104783)

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2025-04-30 18:39:26 +03:00
Ryan McKinley d0644d081f StateTimeline: Improve auto migration from discrete panel (#104671) 2025-04-30 17:56:48 +03:00
Jev Forsberg cd5fa7943e Chore: Use Vault secrets in release-comms.yml (#104727)
* baldm0mma/ update to use vault

* baldm0mma/ update permissions
2025-04-30 17:43:58 +03:00
Adela Almasan d7463556c2 Actions: Add button style customization (#104126) 2025-04-30 17:43:06 +03:00
Jev Forsberg 53321b56d8 Chore: Use Vault secrets in changelog.yml (#104721)
* baldm0mma/ update to use vault

* Update .github/workflows/changelog.yml

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

* Update .github/workflows/changelog.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 17:42:49 +03:00
Adela Almasan 6c0250dde2 TableNG: Fix interpolation for actions (#104577) 2025-04-30 17:42:15 +03:00
Yuri Tseretyan 85344e30c0 Alerting: Migrate notifications API to app-platform SDK application (#104424)
* introduce alerting notification app
* move code as is and remove from old registry
* update api server registration
* update make file and remove unnecessary args, copy some useful make commands from dashboards
* update codeowners

* move constants inside module and remove dependency from grafana
* add support for selectors to the app builder
2025-04-30 10:23:56 -04:00
Ashley Harrison 454e260207 Internationalisation: Use new shared Crowdin token from vault (#104764)
* use new shared token now available in vault

* remove )

* use the token

* make changes for create-tasks as well
2025-04-30 14:56:21 +01:00
Jev Forsberg c7f97060a0 Chore: Use Vault secrets in github-release.yml (#104707)
baldm0mma/ update to use vault
2025-04-30 13:46:18 +00:00
Jev Forsberg 693b373e68 Chore: Migrate to Vault Secrets (#104701)
* baldm0mma/ use valut secrets

* baldm0mma/ rem zizmor annos
2025-04-30 13:45:18 +00:00
Will Assis ecea6a9366 unified-storage: expose memberlist cluster label config (#104643)
* tweak ringKey/ringName for consistency and allow us to configure memberlist cluster label config

* allow setting memberlist cluster label verification disabled field

---------

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2025-04-30 09:43:09 -04:00
Ashley Harrison 1c5545da04 Internationalisation: Check and mark up tooltip content prop (#104536)
* make lint rule check for "content"

* undo unnecessary translation
2025-04-30 14:40:15 +01:00
Ryan McKinley 439df585e0 TestData: Support a steps scenario (#104736) 2025-04-30 16:22:59 +03:00
Alexander Zobnin da32b9e16f Zanzana: Fix health check endpoint (#104670) 2025-04-30 16:05:39 +03:00
Juan Cabanas 9ed5b4efa2 Grafana UI: Update CollapsableSection to be controlled (#104642) 2025-04-30 16:04:31 +03:00
Ashley Harrison b56a4a5295 Border radius: Improve rule and fix remaining violations (#104569)
* improve rule and fix remaining borderRadius violations

* prettier

* Add test case for nested classes

* Fix unnecessary string wrapping

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-30 14:03:54 +01:00
Tom Ratcliffe 77a2b34b02 Alerting: Make receiver optional in routing preview and handle fallback case (#104639) 2025-04-30 13:51:38 +01:00
Alex Khomenko f413721435 Provisioning: Update graphic (#104770) 2025-04-30 15:36:28 +03:00
Roberto Jiménez Sánchez 3b3c2e225c Provisioning: cover most cases in go-git clone (#104513)
* Add some clone tests

* Add case to create ref if it doesn't not exist

* Add unit tests for context cancellation

* Bare repository not needed

* Make tests work without git command
2025-04-30 14:05:19 +02:00
Gilles De Mey 7c66ab1b9b update betterer results file after merge conflict introduced in #103744 (#104685) 2025-04-30 14:48:46 +03:00
Jean-Philippe Quéméner 188a02723f fix(unified-storage): only fetch from history table if rv changed (#104740) 2025-04-30 12:29:09 +02:00
Tobias Skarhed 3732ec74e7 Scopes: Highlight current active item/dashboard (#104403)
* Highlight current active item

* Add error boundary for scopes selector

* Expand containing folder of active item

* Add tests
2025-04-30 12:25:12 +02:00
Santiago 5a589bb51a Alerting: Enable the remote Alertmanager feature using only feature toggles (#101410)
* Alerting: Enable the remote Alertmanager feature using only feature toggles

* Trigger build
2025-04-30 12:18:47 +02:00
linoman afa97a5970 SCIM: Rename assertion_attribute_external_uid (#104613)
Rename `assertion_attribute_external_uid`
2025-04-30 12:33:26 +03:00
Pepe Cano 971f92e45d docs(alerting): add recommendation to reduce duplicated DatasourceError alerts (#104679)
docs(alerting): add recommendation to reduce `DatasourceError` alerts
2025-04-30 11:15:51 +02:00
Ryan McKinley 3a8575ea1b Provisioning: Show in NavTree based on org role, not access control (#104599) 2025-04-30 10:06:44 +03:00
Kevin Minehart 645af8df33 CI: Backport action can't combine with and working-directory (#104754)
* Can't combine with and working-directory

* add missing uses:
2025-04-29 21:30:52 -05:00
Stephanie Hingtgen 7430a18bd3 Dashboards: Fix missing folder info in /search for dashboards (#104666)
Dashboards: add missing folder info to /search
2025-04-30 05:23:52 +03:00
Kevin Minehart be729ea562 CI: cd grafana in backport action (#104753)
cd grafana
2025-04-29 21:17:05 -05:00
Kevin Minehart 24351851c9 CI: cd grafana after clone in backport action (#104752)
cd grafana after clone
2025-04-29 21:01:09 -05:00
Kristina d739481c9a Transformations: Use field name matcher for finding group by fields (#104664)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-04-30 05:00:43 +03:00
Kevin Minehart 6d1f918150 CI: manually git clone for backport action (#104751)
* manually clone for backport

* fix syntax error
2025-04-29 20:56:29 -05:00
Kevin Minehart bb9c56c9d5 CI: use shallow clone with backport action (#104750)
use shallow clone with backport action
2025-04-29 20:19:36 -05:00
Kristina 75a226c4c7 Transformation: Allow boolean for calculate field (#104659) 2025-04-30 03:58:08 +03:00
Leon Sorokin fa17fd108f Transformations: Omit showing base field names when field.name is unique (#104660) 2025-04-30 03:39:46 +03:00
Jev Forsberg 7089b5978e Chore: Use Vault secrets in create-next-release-branch.yml (#104730)
* baldm0mma/ update to use vault

* Update .github/workflows/create-next-release-branch.yml

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

* Update .github/workflows/create-next-release-branch.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:28:39 +03:00
Jev Forsberg 403f938a66 Chore: Use Vault secrets in migrate-prs.yml (#104714)
* baldm0mma/ update to use vault

* baldm0mma/ rem zizmor comm

* Update .github/workflows/migrate-prs.yml

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

* Update .github/workflows/migrate-prs.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:28:15 +03:00
Jev Forsberg 32ad884379 Chore: Use Vault secrets in release-pr.yml (#104723)
* baldm0mma/ update to use vault

* Update .github/workflows/release-pr.yml

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

* Update .github/workflows/release-pr.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:27:16 +03:00
Jev Forsberg f7fe8b7f7e Chore: Use Vault secrets in pr-patch-check-event.yml (#104725)
* baldm0mma/ update to use vault

* Update .github/workflows/pr-patch-check-event.yml

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

* Update .github/workflows/pr-patch-check-event.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:26:54 +03:00
Jev Forsberg f0686a61ce Chore: Use Vault secrets in sync-mirror-event.yml (#104705)
* baldm0mma/ update to using vault secrets

* Update .github/workflows/sync-mirror-event.yml

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

* Update .github/workflows/sync-mirror-event.yml

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

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-04-30 03:17:38 +03:00
Stephanie Hingtgen 9edf2f6356 Folders and Dashboards: Version check fixes (#104663)
Folders: Fix version mismatch errors
2025-04-30 03:04:30 +03:00
Stephanie Hingtgen 129e8bb1e4 Dashboards: Fix moving to general folder (#104655) 2025-04-30 03:03:57 +03:00
Stephanie Hingtgen 9968576acf Folders & Dashboards: Cleanup timestamps and error codes (#104665)
K8s: Fix timestamps and error codes
2025-04-30 03:03:21 +03:00
Georges Chaudy a4f6953f27 spanner: skip dasbhoard RBAC e2e tests for spanner (#104043)
* skip dasbhoard RBAC e2e for spanner

* annotations also relying on dashboard find
2025-04-29 15:50:45 -05:00
Alex Bikfalvi 4d7a4eba54 docs: Trace correlations (#104309)
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-04-29 16:19:32 -04:00
Kevin Minehart 2436b4e097 CI: move workflows/actions to actions (#104711)
* move workflows/actions to actions

* rerun actions

* fix setup-go v5

* unpinned unnecessary pins

* update CODEOWONERS

* update CODEOWONERS

* remove remove-milestone from codeowners

* remove bad key
2025-04-29 14:24:55 -05:00
Kevin Minehart 97d10b5095 CI: remove unused worklow; use GITHUB_TOKEN where possible (#104657)
* remove unused worklow; use GITHUB_TOKEN where possible

* pin usages of checkout and setup-go

* Fix zizmor errors

* add zizmor.yml

* fix `changelog.yml`

* fix `core-plugins-build-and-release.yml`

* fix `release-comms.yml`

* update release-pr.yml and run-e2e-suite.yml

* Fix errors in files outside of .github/workflows

* Remove path filter on zizmor.yml

---------

Co-authored-by: Sven Grossmann <svennergr@gmail.com>
Co-authored-by: joshhunt <josh.hunt@grafana.com>
2025-04-29 10:09:23 -05:00
Gilles De Mey 97a1614cde Alerting: Rework rule editor layout (#103744) 2025-04-29 15:45:45 +02:00
Sven Grossmann 8f922bf76d CI: Add zizmor action (#104676) 2025-04-29 12:02:18 +01:00
Sven Grossmann 2088df2f87 CI: Pin more actions and fix zizmor findings (#104651)
* ci: fix unpinned actions

* ci: more pinned actions
2025-04-28 14:20:21 -05:00
Torkel Ödegaard 90e1f24510 Dashboard: Style change to hover and selected nodes in outline (#104462)
* Dashboard: Style change to hover and selected nodes in outline

* Update

* Update
2025-04-28 17:20:12 +02:00
Sven Grossmann d3038c6e9a ci: add permissions to pr-patch-check-event (#104635) 2025-04-28 15:17:23 +01:00
Sven Grossmann 1c70d8cc18 ci: move variables into env in issue/issue_comment workflows (#104636)
ci: move variables into `env` in `issue` wf
2025-04-28 15:15:17 +01:00
Florian Verdonck 2c7c2088d9 Logs panel: Add meta field to show total hits; add total hits to ElasticSearch plugin response (#104117)
* feat: Show total amount of hits in Elastic Search query

* Add test with multiple series.
2025-04-28 08:32:28 -05:00
Sven Grossmann ab25b911ac ci: move branch name to env var (#104633)
* ci: move branch name to env var

* quoting
2025-04-28 14:11:49 +01:00
Sven Grossmann a8ea72012b ci: remove unused workflow (#104615)
Delete epic-add-to-platform-ux-parent-project.yml

This is an old workflow which is no longer used.

Co-authored-by: Mihaela Maior <mihaela.maior@grafana.com>
2025-04-28 12:00:29 +01:00
Josh Hunt 60b03a5a10 CI: Update actions to use environment variables, pin actions (#104610)
* CI: use env var in backport.yml

* pin actions

* pin actions
2025-04-28 11:30:26 +01:00
Sven Grossmann d19f86a736 ci: move variables to env (#104605)
* ci: move variables to `env`

* ci: move sha to `env`

* ci: import `SHA` and `PRE_COMMIT_SHA`
2025-04-28 11:22:46 +01:00
Piotr Jamróz e2ac229bc5 chore: Remove unused dependency (#104457) 2025-04-28 10:51:11 +02:00
Pepe Cano d6d5771aff alerting: update UI text to clarify recovery threshold for pending state (#102788)
* alerting: update UI text to clarify recovery threshold for pending state

* Update recent translation
2025-04-28 10:42:37 +02:00
Stephanie Hingtgen cf453b46d4 K8s: App Plugins: Fix dashboard updater (#104583) 2025-04-25 22:51:38 +01:00
Josh Hunt 759aa12d2b Revert "Build swagger ui in seperate webpack build" (#104580)
Revert "Build swagger ui in seperate webpack build (#102046)"

This reverts commit 314e337d76.
2025-04-25 22:07:43 +01:00
renovate[bot] fe62a7a708 Update dependency marked to v15.0.11 (#104570)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 21:02:50 +00:00
Kevin Minehart 13eaba98d5 CI: Use pull_request_target for PR patch check (#104567)
Use pull_request_target for PR patch check
2025-04-25 12:52:52 -05:00
alerting-team[bot] af33ffd383 Alerting: Update alerting module to be11a2ae18bb786b6c35a6b99a6a876fada9fd6d (#104563)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-04-25 13:22:19 -04:00
Kevin Minehart a2a13763a4 CI: Remove bad caching from integration tests (#104546) 2025-04-25 18:18:20 +01:00
Will Assis 4adebd6058 unified-storage: setup ring to shard requests (#103783)
* Updates the instrumentation_server service to use mux instead of the builtin router, and have it store the router in the module server: this is so we can register the /ring endpoint to check the status of the ring
* Create a new Ring service that depends on the instrumentation server and declares it as a dependency for the storage server
* Create standalone MemberlistKV service for Ring service to use
* Update the storage server Search and GetStats handler to distribute requests if applicable
2025-04-25 13:08:44 -04:00
renovate[bot] ff7b923d33 Update dependency @formatjs/intl-durationformat to v0.7.4 (#104547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 18:00:25 +01:00
Todd Treece 24caaa7442 Dashboards: Set provisioning concurrency limit (#104507) 2025-04-25 12:43:29 -04:00
Stephanie Hingtgen 72ea92f275 Provisioning: Remove warnings for valid usage (#104555) 2025-04-25 16:50:47 +01:00
Irene Rodríguez 9f048b5127 Rename grafana cli to grafana server cli (#104087) 2025-04-25 15:46:38 +00:00
renovate[bot] be15e85434 Update dependency @floating-ui/react to v0.27.8 (#104373)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 15:55:42 +01:00
Irene Rodríguez 01afde24f5 Style fixes in grafanactl docs (#104550)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-25 14:15:57 +00:00
Sven Grossmann b6b493c851 Extension Sidebar: Add feature tracking for opened/closed extensions (#104209)
Extension Sidebar: Add feature tracking to track opened/closed extensions
2025-04-25 15:05:55 +01:00
renovate[bot] cdfd3caba8 Update dependency cypress to v14 (#99916)
* Update dependency cypress to v14

* update drone image

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 14:49:50 +01:00
Josh Hunt 3ba112673f Docker: Remove pkg/apis/folder from COPY (#104524) 2025-04-25 14:25:10 +01:00
Jev Forsberg fe9254b333 Chore: Update release strategy docs (#104488)
* baldm0mma/ update release docs

* baldm0mma/ run prettier

* baldm0mma/ change back apostrophies

* baldm0mma/ update to or

* baldm0mma/ revert characters
2025-04-25 07:24:07 -06:00
Josh Hunt 314e337d76 Build swagger ui in seperate webpack build (#102046)
* Build swagger ui in seperate webpack build

* render grafana and swagger

* include light theme

* merge main

* update webassets usage

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-04-25 14:22:57 +01:00
Victor Marin 6b44b38c10 DashboardReload: Do not preserve or restore URL state if dashboard version invalid (#104375)
do not preserve or restore url state if dashboard version invalid
2025-04-25 16:19:08 +03:00
Igor Suleymanov f5ff6e38a3 Update grafanactl install instructions in docs (#104539) 2025-04-25 13:09:59 +00:00
Juan Cabanas 52b120cb67 Grafana UI: Add ref to DatePickerWithInput (#104346)
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 09:48:32 -03:00
Misi 06343fcda9 Advisor: Recover correctly when step.Run panics (#104521)
* wip

* Add test case for it
2025-04-25 14:14:44 +02:00
Irene Rodríguez b145deb5a0 Add new grafanactl content (#104448) 2025-04-25 11:58:07 +00:00
Stephanie Hingtgen b5281c923f K8s: Dashboards: Fix provisioned dashboard cleanup (#104504) 2025-04-25 05:55:50 -06:00
Mustafa Sencer Özcan ebf3a8d205 fix: make data syncer run configurable on mode (2->3) change (#104401) 2025-04-25 13:43:35 +02:00
Stephanie Hingtgen 43d0053c80 K8s: Dashboards: Fix transformation between v1 and v2 (#104502) 2025-04-25 05:06:49 -06:00
Stephanie Hingtgen 40799d1f57 Docs: Add dashboard and folder apis docs (#101754) 2025-04-25 05:06:12 -06:00
Andreas Christou 3b036f0e78 Graphite: Fix Graphite series interpolation (#104471)
* Fix graphite series interpolation

* Trigger build
2025-04-25 10:51:18 +01:00
Ryan McKinley 73c018b298 Bootdata: Expose grafanaBootData under /bootdata URL (#104258) 2025-04-25 10:50:03 +01:00
Michael Anderson eed048fc09 Navigation: Moving Machine-Learning out of IRM and into the top-level of the Navigation (#103822)
* adding ml items to main navigation if plugin is installed

* undoing testing change

* updating based on feedback and fixing role to be specific to access to ml plugin

* cleanup unneeded constants

* cleanup diff

* updateing GetOrgID call

* adding greyscale ml logo and using that for consistency

* use currentColor

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 10:33:03 +01:00
Ryan McKinley 7b492d7e16 FEMT: Add feature toggle and expose the service in regular grafana (#104428) 2025-04-25 12:24:25 +03:00
Matthew Thorning 29b3738bc8 Navigation: Remove the "New" badge from the IRM menu item (#104512)
remove the "New" badge from the IRM menu item
2025-04-25 09:49:32 +01:00
grafana-pr-automation[bot] 72ebf1789e I18n: Download translations from Crowdin (#104506)
* New Crowdin translations by GitHub Action

* kick CI

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-25 09:45:47 +01:00
Ashley Harrison ee93dbd2bd Chore: Run fronted unit tests + linting/typecheck against enterprise (#104479)
* run unit tests + linting/typecheck against enterprise

* update permissions

* kick CI

* keep job names the same
2025-04-25 09:22:02 +01:00
Alex Khomenko 618ffd0275 API clients: Add generator (#104093)
* Add API client generator

* Extract config entry template

* Fix index file

* Fix message and file pattern

* Fix generate-rtk template

* Match generated-api

* Format

* Split helpers

* Cleanup

* Remove unused helpers

* Simplify group name handling

* Run generate-apis

* Prettier

* Format + lint

* improve lint/format

* Optional filterEndpoints

* Format

* Update readme

* More updates

* Move the helpers out

* Switch to TS

* Cleanup types

* Add support for Enterprise

* Add comments

* Refactor endpoint handling and update README

* Simplify checks

* Do not register reducers and middleware for enterprise

* More docs updates

* Remove redundant sections

* Format gitignored files

* Add limitations

* Simplify types

* Simplify path logic

* Do not format OSS paths for enterprise

* dedupe

* format

* Simplify instructions

* Update lockfile

* Add comments

* Remove custom types
2025-04-25 09:42:37 +03:00
Scott Lepper 7ed17cacbf Scenes: validate time zone (#104481)
* Scenes: validate time zone
2025-04-24 17:35:35 -04:00
Yuri Tseretyan 14f4620835 Alerting: Optimize clean up rule versions (#102561)
* improve removal of old versions

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

* Apply suggestions from code review

Co-authored-by: Alexander Akhmetov <me@alx.cx>

---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
2025-04-24 15:59:50 -04:00
Yuri Tseretyan 1f707d16ed Apply security patch 357-202503311017.patch (#104490)
* Sanitize paths before evaluating access to route

* use util.CleanRelativePath

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-04-24 20:15:17 +01:00
Leon Sorokin a6735721bf XYChart: Coerce threshold steps to numbers (#104485) 2025-04-24 20:01:00 +01:00
Ashley Harrison 5a10e3b43e Select: Fix minor layout shift when opening/closing the menu (#104476)
fix width of magnifying glass causing layout shift
2025-04-24 17:36:12 +01:00
Alexander Akhmetov 040a82c815 Alerting: Add an internal label to rules converted from Prometheus (#104475) 2025-04-24 18:33:09 +02:00
Gilles De Mey 109267ab03 Alerting: Remove feature toggle for custom recovery threshold (#104455) 2025-04-24 11:58:17 -04:00
Sonia Aguilar 674fdd1d32 Alerting: Add alertingBulkActionsInUI feature toggle (#104470)
Add alertingBulkActionsInUI feature toggle
2025-04-24 15:49:59 +01:00
Kevin Minehart f7216db6bc Chore: bump version to 12.1.0-pre (#104468)
bump version to 12.1.0-pre
2025-04-24 15:47:14 +01:00
Juan Cabanas 20b50e5f16 Grafana UI: Make DashboardPicker focusable (#104242) 2025-04-24 11:27:04 -03:00
Peter Štibraný 08205d64d1 libraryelements: Spanner compability (#103881)
* libraryelements: fix compatibility with Spanner

* Log errors leading to status code 500.

* Rename tests to make them integration tests.
2025-04-24 14:10:03 +00:00
Agnès Toulet e7b800f35a Rendering: Add support for rate limiter (#103987)
* Rendering: Add support for rate limiter

* remove unnecessary golint exception

* add lint exception back
2025-04-24 15:31:19 +02:00
Andres Martinez Gotor f0c841b9bc Advisor: Allow to disable backend (#104445) 2025-04-24 15:27:13 +02:00
Ryan McKinley 2e51096eb4 Provisioning: Export dashboards with conversion errors (#104369) 2025-04-24 14:16:25 +01:00
Ieva e385237daf Access control: Make sure that user permission cache is cleared after new dashboard and folder creation (#104193)
* make sure that user permission cache is cleared after new dashboard and folder creation

* more test fixes

* Update pkg/services/dashboards/service/dashboard_service.go

* check identity type in SetDefaultPermissionsAfterCreate, set default permissions for service accounts

* set SA permissions for folders as well

* fix tests
2025-04-24 16:02:39 +03:00
Torkel Ödegaard 4fc112f927 RowsLayout: Fixes min height issue (#104444) 2025-04-24 14:43:44 +02:00
Ryan McKinley 7fd4c1b41d StateTimeline: Auto-migrate from natel-discrete-panel (#104191) 2025-04-24 15:42:32 +03:00
Eric Leijonmarck 15bddb3712 IAM: Add datasources:query support for using the authlib/authzservice (#104107)
* feat(add): datasources:query support for using the authlib/authzservice

* added test for datasources

* refactor to create the translation right away

* Update pkg/services/authz/rbac/mapper.go

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

* fix tests

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-04-24 13:39:31 +01:00
Andreas Christou 35145801a2 Data Sources: Add gauge for response size (#104394) 2025-04-24 13:26:28 +01:00
Josh Hunt a8aa6b74a8 FEMT: Basic frontend-service implementation (#104229)
* create the most basic frontend-server module

* expose prom metrics??

* add todo list

* move frontend-service to its own folder in services

* check error from writer.Write

* reword comment, add launch config
2025-04-24 13:14:21 +01:00
Oscar Kilhed 8e6b8fad01 SchemaV2: Fix saving of transparent setting of vizPanel (#104443)
* save transparent setting

* make sure we test both transparent and non transparent
2025-04-24 14:13:18 +02:00
Gilles De Mey 1ffd64ff79 Alerting: Package 📦 (#102899) 2025-04-24 13:47:24 +02:00
Tom Ratcliffe b487096460 Alerting: Fix empty state for mute timings (#104453) 2025-04-24 13:42:52 +02:00
Fayzal Ghantiwala d94a59cd08 Alerting: Fix flaky test (#104450)
Fix flaky test
2025-04-24 12:28:28 +01:00
Andres Martinez Gotor edeff68645 Advisor: Allow to retry checks for a single element (#104279) 2025-04-24 12:00:32 +02:00
Laura Fernández 10df5d6f23 i18n: unify locale codes to match language structure (#104415) 2025-04-24 11:08:57 +02:00
Alexander Zobnin 1584349b99 Zanzana: Use authz client (#104037)
* Zanzana: use client from authzlib

* update go.sum

* use user UID for debugging

* Remove unused function
2025-04-24 10:57:24 +02:00
Tom Ratcliffe 356c979328 Chore: Enable no-constant-condition eslint rule (#104298) 2025-04-24 09:50:29 +01:00
Gábor Farkas 067d7b4146 feature-toggles: change ownership (#104440) 2025-04-24 09:42:11 +01:00
grafana-pr-automation[bot] 496eafdc6f I18n: Download translations from Crowdin (#104430)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-24 09:26:05 +01:00
Ryan McKinley bfcb0af93a UnifiedStorage: enable unifiedStorageHistoryPruner by default (#104437) 2025-04-24 11:14:57 +03:00
Victor Marin faa33e30a9 Schema: Add origin property to AdHocFilterWithLabels (#104320)
* add origin to AdHocFilterWithLabels

* typo

* fix

* use singular for FilterOrigin

* run ./hack/update-codegen.sh

* add canary scenes to verify typechecks

* update dashboard schema json snapshot

* fix

* fix

* update canaries

* fix

* bump scenes version
2025-04-24 11:13:17 +03:00
Ryan McKinley e6414a6690 Provisioning: Fix the save version in dashboard scenes (#104433)
fix save (correct v1beta1)
2025-04-24 10:29:49 +03:00
Alex Khomenko 82c291675b Provisioning: Fix requires migration condition (#104434)
* Provisioning: Fix requires migration condition

* Better error messaging
2025-04-24 09:29:41 +03:00
Alex Khomenko 8a5b77432c Grafana-icons: Remove package (#104290)
* Remove grafana-icons package

* Cleanup
2025-04-24 09:06:16 +03:00
Moustafa Baiou 9f07e49cdd Alerting: Add extended definition to prometheus alert rules api (#103320)
* Alerting: Add extended definition to prometheus alert rules api

This adds `isPaused` and `notificationSettings` to the paginated rules api to enable the paginated view of GMA rules.

refactor: make alert rule status and state retrieval extensible

This lets us get status from other sources than the local ruler.

* update swagger spec

* add safety checks in test
2025-04-23 21:14:09 +01:00
Ryan McKinley b09d79b21c K8s/Dashboard: Promote from alpha1 to beta1 (#104009) 2025-04-23 20:54:35 +03:00
grafana-delivery-bot[bot] a6866176cd Release: update changelog for 11.6.1 (#104416)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 17:34:58 +00:00
ismail simsek 7a9fdf8609 Chore: Move getOriginalMetricName to the place where it's used (#104379)
remove getOriginalMetricName from datasource as it's used only in metric_find_query
2025-04-23 18:57:02 +02:00
Tom Ratcliffe 345e81b9b7 Alerting: Render duration in <code> block for better presentation for translated values (#104409) 2025-04-23 17:27:54 +01:00
Josh Hunt 656d730eb2 I18n: Remove 'now' translations (#104414) 2025-04-23 17:25:16 +01:00
Tania b8eeea0fe0 Remove flag disableSecretsCompatibility (#103135)
Remove flag disableSecretsCompatibility
2025-04-23 16:21:13 +00:00
grafana-delivery-bot[bot] 2e52553a39 Release: update changelog for 11.5.4 (#104408)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 15:36:00 +00:00
ismail simsek 0d400c3413 Chore: Remove alignRange function from prometheus frontend as it was moved to backend (#104378)
remove alignRange as it was moved to backend
2025-04-23 17:16:40 +02:00
Collin Fingar ee840b7d1f QueryLibrary: Update add to lib spec method (#103751)
QueryLibrary: Update add to lib method
2025-04-23 11:16:14 -04:00
grafana-delivery-bot[bot] 5959dd3d18 Release: update changelog for 11.4.4 (#104365)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-23 14:37:58 +00:00
Sven Grossmann c20cd9874c Extension Sidebar: Enable conditional rendering of component (#104177)
* Extension Sidebar: Add `links` extension point to conditional render component

* Extension Sidebar: Add tests

* Extension Sidebar: Fix tests
2025-04-23 16:25:50 +02:00
Alexa V ab7e18feda Dashboard: Schema V2 - Fix built-in annotations not present (#104313)
* Add grafana Built-in annonation to the serialization

* Add unit tests
2025-04-23 16:24:21 +02:00
Torkel Ödegaard c8fb66dd48 Dashboard: Fixes issue with row repeats and first row (#104265)
* working

* Update

* Add test

* Update
2025-04-23 16:18:56 +02:00
Kim Nylander 90ddab7461 Fix link in Use git sync doc (#104396) 2025-04-23 10:04:04 -04:00
Matias Chomicki 592c7a0b3c Log Controls: Allow plugins to use Log Controls (#104237)
* Logs Panel: add showControls option

* Make showControls optional

* Logs Panel: expose storage option

* Controlled log rows: allow table props to be possibly undefined

* Logs panel: expose controlled options change callback

* Logs panel: pass new callback

* Logs Panel: pass the correct field callbacks

* LogListControls: disallow unique labels in apps

* LogListControls: allow to filter by unknown level

* LogListControls: fix wrong aria-pressed state

* LogListControls: hide overflow

* ControlledLogRows: make scroll auto

* Controlled Logs Panel: forward scroll ref

* chore: generalize isCoreApp

* Formatting

* LogListControls: update test

* Logs Panel: make sure tests pass with and without controls

* formatting

* Losg Panel: add comments for the new options

* Log list controls: Add comment
2025-04-23 15:01:49 +01:00
Ashley Harrison 5c44ad2763 Chore: Initial scaffolding for crowdin action (#104393)
* start to scaffold github action

* test script

* simplify

* right path (maybe)

* clean up

* CONSTANT_CASE

* add CODEOWNERS

* kick CI
2025-04-23 14:30:35 +01:00
Scott Lepper b7c0e8bd33 Scenes: add support for sourcemaps when linking (#104328)
Scenes: add support for sourcemaps when linking
2025-04-23 09:17:47 -04:00
Pepe Cano cf1b964829 docs(alerting): clarify transition to Recovering state when using recovery thresholds (#104381) 2025-04-23 15:15:12 +02:00
Roberto Jiménez Sánchez 9e9e971ab3 Provisioning: unit test and bug fixes go-git repository (#104390)
* Add unit test for unimplemented methods

* Add unit test for GoGitRepo_Read

* Add tests for Delete

* Add more tests

* Add unit test for GoGitRepo_Push

* Add unit test for ReadTree
2025-04-23 15:59:03 +03:00
Roberto Jiménez Sánchez c8981d91c7 Provisioning: remaining unit test coverage github repository (#104382)
* Add test for GitHubRepository_LatestRef

* Add test for GitHubRepository_LatestRef

* Add test for GitHubRepository_CommentPullRequest

* Add remaining tests for GitHubRepository

* Add remaining tests for GitHubRepository

* Fix linting
2025-04-23 13:29:21 +01:00
Michael Mandrus 67ac54fb0e Chore: Rename file containing SQLStore migrations per repo conventions (#104354)
rename per conventions
2025-04-23 08:26:45 -04:00
Juan Cabanas ed27d76d7f Grafana UI: Add ref to TagsInput (#104344) 2025-04-23 09:13:58 -03:00
Alexander Akhmetov 0743689d42 Alerting: Add recovering state to the grafana_alerting_alerts metric (#104380) 2025-04-23 13:58:57 +02:00
Alexander Zobnin 9b325438f7 Chore: Upgrade authlib (use UIDs for authz checks) (#104307) 2025-04-23 12:51:37 +01:00
Tom Ratcliffe cd8556026e Chore: Fix re-exported skipToken from dashboards API (#104387) 2025-04-23 12:38:10 +01:00
Tom Ratcliffe a47a155a89 Alerting: Only show DMA button when query datasource supports it (#104158) 2025-04-23 12:14:27 +01:00
Tom Ratcliffe f9d2199b12 Alerting: Enable no-nested-ternary ESLint rule (#104085) 2025-04-23 11:00:40 +00:00
Torkel Ödegaard dc0501e376 Alerting: Simplify actions (#103494) 2025-04-23 12:45:28 +02:00
Ryan McKinley 3923538ba4 Provisioning: Delete from repository, not the resource client on rename (#104291)
Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-04-23 12:30:30 +02:00
Ihor Yeromin 8cee546d67 DataLinks: Long link title wrapping (#104169)
chore(data-links): link text wrap
2025-04-23 12:27:09 +02:00
Ryan McKinley 7e192e319c Devenv: Avoid explicit uid for testdata in dashboards (#104338) 2025-04-23 12:46:34 +03:00
Sven Grossmann 4b48121464 Investigations: Allow everyone with datasources:explore permissions to use investigations (#104280)
* Investigations: Authorize everyone to create investigations

* fix test
2025-04-23 11:30:59 +02:00
Tom Ratcliffe f9fb6f3b88 Chore: Update eslint configs to ignore /spec/ files when necessary (#104377) 2025-04-23 10:24:26 +01:00
Sonia Aguilar 9a7cb96eb0 Alerting: Allow clearing namespace and group filter (#104376)
allow clearing namespace and group filter
2025-04-23 10:17:09 +01:00
marybelvargas 5a50c76f58 [Docs - RBAC] Update docs to reflect new fixed role granted to the Viewer basic role (#104353)
Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-04-23 09:15:06 +00:00
Torkel Ödegaard 85a0a47efc Dashboard: Fixes outline for repeated rows (#104283)
* Dashboard: Fixes outline for repeated rows

* Update

* make i18n-extract

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-04-23 10:10:09 +01:00
Ivana Huckova f932bf7f36 Jaeger: Run traceID queries through backend when node graph is enabled (#104029)
* Refactor current solution

* Run traceid queries with enabled node graph through backend

* Update test

* Fix lint

* Uodate based on feedback, don't spread
2025-04-23 11:01:40 +02:00
sarah-spang 1d3d13c0cd Docs: RBAC - Fix incorrect role name (#104244)
Docs: Fix incorrect role name

Doc references fixed:licensing:viewer, however, this role does not exist. It should be fixed:licensing:reader
2025-04-23 10:41:19 +02:00
renovate[bot] d0d1fb2de2 Update dependency i18next-browser-languagedetector to v8.0.5 (#104294)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-23 07:40:29 +00:00
Stephanie Hingtgen ee4d59b547 Linter: fix conflict (#104370)
Linter: fix enterprise conflict
2025-04-23 07:00:32 +01:00
Stephanie Hingtgen b887e8aa05 K8s: Dashboards: Add fine grained access control checks to /apis (#104347)
---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
Co-authored-by: Marco de Abreu <marco.deabreu@grafana.com>
Co-authored-by: Georges Chaudy <chaudyg@gmail.com>
2025-04-23 03:29:05 +01:00
grafana-pr-automation[bot] 410c5ebfb7 I18n: Download translations from Crowdin (#104364)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-23 01:36:28 +01:00
grafana-delivery-bot[bot] 028a3aaafa Release: update changelog for 11.3.6 (#104358)
* Update changelog

* Update CHANGELOG.md

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 17:39:52 -06:00
grafana-delivery-bot[bot] d03b938d2b Release: update changelog for 11.2.9 (#104357)
* Update changelog

* baldm0mma/ add cves

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 22:23:50 +00:00
grafana-delivery-bot[bot] 092727e8f7 Release: update changelog for 10.4.18 (#104355)
* Update changelog

* baldm0mma/ add cve

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 16:00:46 -06:00
Kevin Minehart 6e4e256778 Chore: update changelog for 11.6.0.1 (#104351)
* update changelog for 11.6.0.1

* baldm0mma/ add cve

---------

Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
2025-04-22 21:03:19 +00:00
Pepe Cano 6abe6499c4 docs(alerting): clarify how Math expressions operate on multiple series (#104316) 2025-04-22 22:56:56 +02:00
Pepe Cano d0154e8e77 docs(alerting): admonition for webhook features that are not GA in GC (#104331)
* docs(alerting): admonition for webhook features that are not GA in GC

* fix plural

* minor copy change
2025-04-22 22:45:48 +02:00
grafana-delivery-bot[bot] 69f68cb73e Release: update changelog for 11.5.3+security-01 (#104340)
* Update changelog

* baldm0mma/ update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 20:33:38 +00:00
Pepe Cano 50e24d6634 docs(alerting): clarify that webhook extra headers can override the Content-Type header (#104324) 2025-04-22 22:19:28 +02:00
Pepe Cano 54fb34f59b docs(alerting): specify sequential evaluation for imported DS rules (#104234) 2025-04-22 22:17:45 +02:00
Pepe Cano 7c0cb1b7bb docs(alerting): replace outdated alert state diagram with updated image (#104232) 2025-04-22 22:15:07 +02:00
Pepe Cano 9e4980320a docs(alerting): add JSON payload example to template examples list (#104282) 2025-04-22 22:14:50 +02:00
grafana-delivery-bot[bot] 0d0981ac57 Release: update changelog for 11.4.3+security-01 (#104337)
* Update changelog

* baldm0mma/ update cves in changelog

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:59:55 +00:00
grafana-delivery-bot[bot] 43f7e8a7df Release: update changelog for 11.2.8+security-01 (#104317)
* Update changelog

* baldm0mma/ add cves

* baldm0mma/ fix syntax

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:59:25 +00:00
grafana-delivery-bot[bot] d80d030490 Release: update changelog for 11.3.5+security-01 (#104323)
* Update changelog

* baldm0mma/ add cves

* baldm0mma/ fix syntax

* baldm0mma/ fix cve number

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: jev forsberg <jev.forsberg@grafana.com>
2025-04-22 19:36:02 +00:00
Jev Forsberg e8f5200a32 Chore: Update 10.4.17-sec changelog with cves (#104333)
baldm0mma/update 10.4.17-sec changelog with cves
2025-04-22 19:31:06 +00:00
Marie Cruz 8dd5dbbe5c Dashboard: remove broken play dashboard on the annotate visualizations page (#104288)
remove broken play dashboard
2025-04-22 20:26:34 +01:00
Adam Simpson 2eab7cb63b ds-querier: improve instant vector support (#103954) 2025-04-22 15:20:45 -04:00
Moustafa Baiou 5ddcac8678 Alerting: Add back time interval items to the API spec (#104306) 2025-04-22 14:57:04 -04:00
Ryan McKinley 82332819ef DataSourceSrv: include alias in type filter (#104308) 2025-04-22 21:34:56 +03:00
ismail simsek 4b1fa81394 Chore: Better builtin variable check during parsing the code (#103952)
* replace and return the builtin variables

* don't parse the expression twice

* improve the replacement logic

* better code with more tests

* lint

* betterer

* rename the test suite
2025-04-22 19:57:01 +02:00
Eric Leijonmarck 4bf32f3651 Zanzana: Adds readme with configuration for openfga cli (#104276) 2025-04-22 17:36:47 +00:00
ismail simsek 89198bb749 Prometheus: Remove series endpoint call from Metrics Explorer (#104263)
* Remove series endpoint call

* lint
2025-04-22 19:23:10 +02:00
Jacob Valdez 9c125b812d Docs: Making some slight adjustments to migration assistant (#104180) 2025-04-22 12:21:15 -05:00
Roberto Jiménez Sánchez a438b192d3 Provisioning: unit test repository/github package (#104310)
* Add unit tests IsAuthenticated

* Add unit tests RepoExists

* Add unit tests GetContents

* Add initial unit tests GetTree

* Add unit tests for CreateFile

* Add unit test UpdateFile

* Add unit tests DeleteFile

* Add unit tests for Commits

* Add unit tests for helpers

* Add unit test CompareCommits

* Add GetBranch tests

* Add unit tests BranchExists and CreateBranch

* Add unit tests Webhooks

* Remove unused code

* Add unit tests CommentPullRequest

* Add more cases for GetTree

* Complete coverage

* Fix linting
2025-04-22 18:20:29 +01:00
ismail simsek 8ef8471b23 Chore: Remove prometheusUsesCombobox feature toggle (#103940)
* remove prometheusUsesCombobox feature toggle

* betterer

* fix the unit test

* create MetricsLabelsSection unit tests

* fix unit tests

* fix unit tests in PromQueryBuilder.test.tsx

* prettier

* remove timeouts

* Revert "remove timeouts"

This reverts commit 84af1fd46b.
2025-04-22 18:54:10 +02:00
Jack Baldry 576bf66e03 Add Observability as Code documentation (#104301)
Co-authored-by: Kim Nylander <kim.nylander@grafana.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-04-22 16:53:41 +00:00
Ashley Harrison e42cca9527 Chore: fix translations missing keys (#104314)
fix translations missing keys
2025-04-22 17:51:32 +01:00
grafana-delivery-bot[bot] b8b7d7c205 Release: update changelog for 10.4.17+security-01 (#104304)
Update changelog

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-22 10:35:27 -06:00
Ryan McKinley cd0ba68002 Provisioning: Update driver logic (#104233) 2025-04-22 16:42:33 +02:00
Ashley Harrison fbb0bef368 Internationalisation: Ignore enterprise files for now (#104293)
ignore enterprise files for now
2025-04-22 11:40:06 -03:00
Sonia Aguilar 2514944d3c Alerting: Fix wrong conditional showing errors all the time (#104297)
fix wrong conditional showing errors all the timne
2025-04-22 14:39:45 +00:00
Roberto Jiménez Sánchez c5f8b4475f Provisioning: add some unit test coverage for Github repository (#104284)
* Test validate

* Complete tests for validate

* Add tests for validate

* Add unit tests Read

* Add unit tests ReadTree

* Add unit tests Create

* More specific on apierrors

* Improve coverage

* Add unit tests for Update

* Add unit tests for Write

* Add tests for deletion

* Add test for recursion error

* Add unit tests History

* Add basic scenarios webhook method

* Add cases for push

* Add unit tests for pull request event

* Remove addressed FIXME

* Meta import

* Use sha256

* Fix linting error use of As
2025-04-22 15:31:00 +01:00
Alex Spencer 680874e0d5 TableNG: Fix sub table styles + expand/collapse (#104015)
* fix: sub table expand/collapse + styles

* chore: pass in datagrid styles differently

* chore: fix test lint

* chore: fix cell hover flicker

* chore: fix sub table height issue

* chore: fix background color hover issue

* chore: revert hover changes - separate PR incoming

* chore: fix sub table width + alignment

---------

Co-authored-by: Adela Almasan <adela.almasan@grafana.com>
2025-04-22 08:15:48 -06:00
Ashley Harrison ba05a1e5d2 Theme: Expose Drawer padding as part of theme.components (#104273)
* expose drawer padding as part of theme.components

* add default
2025-04-22 15:01:41 +01:00
Alexander Akhmetov 12c8e54990 Alerting: Upgrade alerting module (#104266) 2025-04-22 14:43:06 +01:00
Joey d1bbebcc7b Tempo: Copy full trace id on imported trace (#104264)
* Ensure all of trace id is copied

* Update tests
2025-04-22 14:37:40 +01:00
Alexander Zobnin 073e6dc98c Zanzana: Fix OpenFGA HTTP server (#104088)
Zanzana: Fix OpenFGA grpc server
2025-04-22 15:18:59 +02:00
Alex Khomenko b6e5b5d20f Provisioning: Add onboarding page graphic (#104162)
* Provisioning: Add onboarding page graphic

* Update translations
2025-04-22 16:13:03 +03:00
Ashley Harrison b052b28a88 Internationalisation: Enable i18n eslint rules (#104277)
* enable i18n rules by default

* commit translation changes
2025-04-22 13:56:25 +01:00
Alexa V 94e24f44b9 Dashboard: SchemaV2 Fix Import mapping datasource (#104200)
* Dashboard: SchemaV2 Fix mapping ds for variables and annotations

* process annotations and vars ds inputs so they can be selected

* clean up so async works

* Add basic unit test for v2 dashboards mapping

* clean up tests

* linting

---------

Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-04-22 14:47:10 +02:00
Peter Holmberg fab0bdd634 Navigation: add service center as a standalone nav item (#102897)
add service center as a standalone nav item
2025-04-22 14:20:36 +02:00
Andreas Christou 66c56cdb83 Graphite: Support backend queries with different time ranges (#103984)
* Refactor to handle queries with various time ranges

* Lint

* Remove comment
2025-04-22 13:14:24 +01:00
Fayzal Ghantiwala 3a054d5e00 Alerting: Add FiredAt field to State (#104046)
* Add FiredAt field to the State

* Update featuretoggle files

* Fix lint errors

* Fix test compilation

* Remove random print line + formatting

* Address PR comments
2025-04-22 12:16:38 +01:00
Ashley Harrison 9ed3c9ee8a Internationalisation: Final mark up of strings (#104165)
* some more markup

* more markup

* more markup

* almost there...

* more markup

* more markup

* last markup!

* fix unit tests
2025-04-22 11:02:01 +01:00
Ryan McKinley 3310149964 Chore: Update internal go.mod references (#104262) 2025-04-22 10:42:39 +01:00
Fayzal Ghantiwala f29941c335 Alerting: Use value of ha_redis_cluster_mode_enabled in redisPeer config (#104269)
fix assignment of redis cluster mode cfg
2025-04-22 10:40:48 +01:00
Serge Zaitsev 1d180c0611 Chore: Clean up unused parts of xorm/core (#104260)
* remove unused part of xorm

* remove onlytodb and onlyfromdb tags

* only keep snapemapper, since we always assumed it is the only one available in xorm
2025-04-22 11:37:07 +02:00
Matheus Macabu fc9f32a9f6 SQLTemplates: Add helper to ensure all templates have a test-case (#103964)
* SQLTemplates: Add helper to ensure all templates have a test-case associated

* UnifiedStorage: Add missing sql template test case

* LegacyDashboards: Add sql templates fs to test cases for exhaustiveness check

* RBACStore: Add sql templates fs to test cases for exhaustiveness check

* LegacyIAM: Add missing sql template test cases
2025-04-22 11:21:51 +02:00
Konrad Lalik 512df0091a Alerting: Add a button to try out the new list page (#103855)
* Add user-facing feature toggle functionality for the new alerting list view

- Implemented `useFeatureToggle` hook to manage feature toggles using local storage.
- Added unit tests for `useFeatureToggle` to verify behavior for various toggle states.
- Updated `RuleList` components to utilize the new feature toggle for alerting list view.
- Introduced `RuleListPageTitle` component to handle toggling between list views with a badge indicator.

* Add tests

* Fix imports and remove unused code

* Add a new feature flag for list v2 preview button

* Hide v2 preview button behind the new feature flag

* Update list v2 feature toggle stage

* Alerting: List view feature toggle button PR review (#104161)

* Add test for undefined feature toggles case

* Tweak tests to use test utils and user

* Add i18n for toggle button and tweak props spreading

* Update translations

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-04-22 10:50:34 +02:00
Ryan McKinley 17e4a3b386 Playlists: Remove kubernetesPlaylists flag (#104171) 2025-04-22 10:39:40 +02:00
Josh Hunt 64e9f9bf44 Shortcuts: Remove esc global keybinding clearing search parameter (#104196) 2025-04-22 09:24:56 +01:00
Matheus Macabu 7c8433fbb2 Unified: Replace user.SignedInUser with StaticRequester in apistore perm tests (#104257) 2025-04-22 10:47:09 +03:00
Matheus Macabu ca36d77f5b Dependencies: Bump golang.org/x/net to v0.39.0 in apps/advisor (#104228) 2025-04-22 09:06:59 +02:00
Dominik Prokop 98e737cb5d Schema v2: Persist only relevant field config when transforming to save model (#104197) 2025-04-22 08:22:23 +02:00
Ryan McKinley d6dbc0a421 Provisioning: Migrate use history only with github (#104219) 2025-04-21 21:10:37 +03:00
Pepe Cano 536ff2fc3d docs(alerting): clarify recovery threshold for pending state (#102780)
Alerting docs: clarify recovery threshold on pending state
2025-04-21 18:50:53 +02:00
Artur Wierzbicki fd99b67205 Dashboards: Preserve schema version in /api (#104213)
---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-04-21 10:51:28 -05:00
William Wernert 820c338414 Alerting: Ensure field validators return the proper type (#104050)
* Ensure field validators return the proper type

This ensures correct error propagation through services up to
the API layer.

* Move error wrapping up to call site
2025-04-21 16:15:09 +01:00
Roberto Jiménez Sánchez 3dda7ccc30 Provisioning: folder not found legacy migration (#104225) 2025-04-21 16:20:39 +03:00
Jo afcb551562 TeamMember: Treat null permission as member (#104195) 2025-04-21 06:41:30 -05:00
Pepe Cano a3d27c5912 docs(alerting): Add heartbeat monitoring docs for the IRM contact point (#103811)
* docs(alerting): Add heartbeat monitoring docs for the IRM contact point

* Use `After` instead of `Once`
2025-04-21 12:31:56 +02:00
Pepe Cano f023fcc68a docs(alerting): New Alertmanager contact point docs (#103782) 2025-04-21 12:08:41 +02:00
Ryan McKinley c8f65a0348 Provisionig: Add skipDryRun parameter to the /files/ resource (#104152) 2025-04-21 11:49:06 +03:00
Ryan McKinley c09ef1189e K8s/Storage: remove github.com/grafana/grafana from go.mod (#104212) 2025-04-21 10:48:44 +03:00
grafana-pr-automation[bot] f85e012e42 I18n: Download translations from Crowdin (#104210)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-20 01:32:56 +01:00
Sven Grossmann ea450a92f9 Extension Sidebar: Close sidebar with toolbar button (#104208)
* Extension Sidebar: Improve closing behavior

* Extension Sidebar: Fix title
2025-04-19 22:38:58 +02:00
grafana-pr-automation[bot] 5ec8750875 I18n: Download translations from Crowdin (#104188)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-19 01:30:39 +01:00
Yuri Tseretyan d1b2e669a7 Alerting: remove alertingApiServer flag (#104133) 2025-04-18 19:57:39 +00:00
Ryan McKinley efd9334295 Provisioning: route provisioning storage to the provisioning client (#104082) 2025-04-18 21:47:37 +03:00
Yuri Tseretyan 689da86f81 Alerting: update alerting notifications module to the latest main (#104201) 2025-04-18 19:00:37 +01:00
Yuri Tseretyan 1bafd5c807 Docs: Remove mention of alertingApiServer flag from alerting documentation (#104131) 2025-04-18 11:51:38 -04:00
Stephanie Hingtgen 9f09e94fe8 Klog: Reduce verbosity and set as default (#104199) 2025-04-18 10:37:23 -05:00
Gilles De Mey c174c855c3 Alerting: Update alerting cue definitions (#104053)
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-04-18 15:14:52 +01:00
Kevin Minehart 8d883ecda1 CI: remove old patch checks (#104184)
* remove old patch checks

* remove from CODEOWNERS

* rerun CI
2025-04-17 23:13:06 +01:00
Kristina 57fd67436e Transformations: Remove deprecated ui element and wrap pills (#104143)
* Remove deprecated ui element and wrap pills

* Fix for labels to fields too

* Update betterer
2025-04-17 16:23:06 -05:00
Luminessa Starlight 8b28c84017 TextPanel: Allow markdown to-do checkboxes in TextPanel (#104136)
TextPanel: Allow markdown to-do checkboxes
Fixes #95054
2025-04-17 12:56:09 -04:00
Haris Rozajac 82184686dc Dashboard: Support TemplateSrv.containsTemplate in scenes context (#104072) 2025-04-17 10:55:03 -06:00
Tobias Skarhed 8021dee6f1 Scopes: Add recent scopes selectors (#103534)
* Add recent scopes to command palette

* Remove parent action

* Support updating select set of scopes

* Filter out currently selected scope

* Add recent scopes to drawer

* Add expandable section

* Add recent scopes component

* Only show recommended for leaf nodes

* Small style fixes

* Always write to recent after fetching new scopes

* Add feature toggle check for command palette

* Use i18n

* Remove unused prop

* Add test cases for recent scopes in selector

* Add more test cases

* Add clear test action

* Remove unused imports
2025-04-17 17:00:10 +02:00
Roberto Jiménez Sánchez 6bdf161865 Provisioning: unit test local repository in repository package (#104108) 2025-04-17 15:27:54 +01:00
Ashley Harrison 77f844a319 Playlists: Don't show page header action during empty state + update docs (#104100)
don't show page header action when empty state is visible + update docs
2025-04-17 13:59:33 +01:00
Darren Janeczek df0cb43228 fix: prevent border & background showing for transparent switch components (#104080)
* fix: prevent border & background showing for transparent switch components

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-04-17 12:56:08 +00:00
Roberto Jiménez Sánchez d38cd9d6c4 Provisioning: unit test pull request job (#104058) 2025-04-17 15:33:32 +03:00
Josh Hunt 2cf67806d9 Chore: Fix number variable in skye github action (#104123)
* Chore: Fix number variable in skye github action

* try other syntax

* use fromJSON

* skip the set_number step

* comments

* newline
2025-04-17 13:24:24 +01:00
Hugo Häggmark 0c646fa520 Chore: skips flaky e2e test (#104167) 2025-04-17 13:01:26 +01:00
Jean-Philippe Quéméner 3380ea441a feat(unified-storage): return guid, group and resource on read/list (#104121) 2025-04-17 12:58:58 +02:00
Ryan McKinley a02ff218df Geomap: skip flakey e2e tests (#104155) 2025-04-17 13:07:18 +03:00
grafana-pr-automation[bot] eac2df7fed I18n: Download translations from Crowdin (#104142)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-17 10:35:35 +01:00
Alex Khomenko 5877a70d1f [release-12.0.0] Provisioning: Add banner with more feature info (#104147)
* Provisioning: Add experimental feature banner

* translations
2025-04-17 10:04:10 +01:00
Tom Ratcliffe 079923443b Alerting: Hide GMA/DMA switch if no appropriate data sources are configured (#104038) 2025-04-17 09:50:46 +01:00
Ryan McKinley dc8acf8e05 K8s: Fix kubectl access for apiserver resources (#103958) 2025-04-17 10:30:35 +03:00
Alex Khomenko d85d730d9c Provisioning: Add banner with more feature info (#104111)
* Provisioning: Add experimental feature banner

* translations
2025-04-17 06:17:30 +01:00
Marco de Abreu 18a870d7ca GitHub Actions: Use PR commit SHA for reporting status (#104141)
Use correct SHA for reporting status checks

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-17 02:44:11 +01:00
Nathan Vērzemnieks af59c4eb3e Chore: bump grafana-plugin-sdk-go from v0.275.0 to v0.277.0 (#103971)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-04-17 00:32:25 +03:00
Jacob Valdez cf76777170 Docs: Updating cloud migration docs ahead of G12 (#103835)
Co-authored-by: Michael Mandrus <41969079+mmandrus@users.noreply.github.com>
2025-04-16 14:51:31 -05:00
Isabella Siu 3bbc4c0024 Cloudwatch: Update grafana-aws-sdk (#104119)
Cloudwatch: update grafana-aws-sdk
2025-04-16 15:39:04 -04:00
Ryan McKinley a3c71accf5 Chore: go mod tidy... with current imports (#104127) 2025-04-16 19:35:10 +01:00
Ihor Yeromin ec17e0e4ce TableNG: Prevent unnecessary table cell re-renders on hover (#104032)
* fix(table-ng): on hover cell re-render
2025-04-16 19:37:22 +02:00
Tom Ratcliffe 0860867b84 i18n: Fix all remaining alerting translation markup (#104103)
* alerting markup

* fix typo

* Fix remaining Alerting issues 🎉

* Enable no-untranslated-strings rule for alerting

* Fix i18n eslint rule for "fixed" areas of code

* Remove auto fixing

* kick CI

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-04-16 17:45:12 +01:00
Josh Hunt fd830759ab Chore: Fix missing permissions in sky-add-to-project action (#104106)
* Chore: Fix missing permissions in sky-add-to-project action

* fix missing issue number
2025-04-16 17:33:54 +01:00
Torkel Ödegaard c1291e3031 AutoGrid: Tweak height of short row height (#104115)
AutoGrid: Tweak auto short height
2025-04-16 18:24:00 +02:00
Drew Slobodnjak b694857e00 Geomap: Tooltip for multiple features same coord (#103163)
* Geomap: Tooltip for multiple features same coord

* Add basic test coverage

* Be explicit with sorting to avoid truthiness error

* Add sorting to tests and clean up

* Check again for duplicates
2025-04-16 08:07:57 -07:00
Kevin Minehart 15a50310bc CI: cancel concurrent test runs in prs but not main (#104110)
cancel concurrent builds in prs but not main
2025-04-16 09:43:26 -05:00
Andrew Hackmann 9eb311c037 Graphite: Fix queries with series refs not updating in alerts (#104019)
* use targetFull to see if query has changes for nested series

* prettier
2025-04-16 09:07:17 -05:00
Torkel Ödegaard e5b8796a18 Dashboard: Adding variables and selecting type (#103956)
* Dashboard: Adding variables and selecting type

* Make i18n-extract

---------

Co-authored-by: oscarkilhed <oscar.kilhed@grafana.com>
2025-04-16 16:01:55 +02:00
Josh Hunt 2208a24c72 Chore: Action to add issues to Skye project board (#104102)
* Chore: Action to add issues to Skye project board

* codeowners
2025-04-16 14:48:34 +01:00
Ashley Harrison 45092261ab Playlist: Move to generated api client (#103083)
* create playlist api client

* add more api client methods

* integrate new client. TODO: tests, integrate remaining util functions

* add error handling

* fix unit tests

* refactor to remove PlaylistUI type

* cleaner PlaylistStartPage

* handle generateName

* Fix startmodal name

* create generic error handling util

* prettier

* keep migration code for now

* better syntax
2025-04-16 13:27:52 +01:00
Hugo Kiyodi Oshiro c947732e0d Plugins: Add feature toggle for plugins auto-update (#103993) 2025-04-16 13:44:39 +02:00
Andreas Christou 519b75bd1e InfluxDB: Fix nested variable interpolation (#104067)
Validate query type
2025-04-16 11:54:45 +01:00
Roberto Jiménez Sánchez 55a2b77386 Provisioning: refactor commit signature logic (#104055)
* WIP: Separate signature package

* Add some unit tests

* Test factory

* Finish unit test coverage signature package

* Fix register

* Add FIXME

* Add more coverage

* Add more coverage

* Fix migrate tests

* Fix unit tests
2025-04-16 10:04:19 +01:00
Ashley Harrison 61cd19c540 Chore: More internationalisation markup (#104051)
* More markup

* fix some ternaries

* more alerting markup

* fix unit tests
2025-04-16 09:25:18 +01:00
Laura Fernández 68c6e4b1e7 i18n: Move locale code behind the feature toggle in internationalization/dates.ts (#103981) 2025-04-16 09:54:10 +02:00
Artur Wierzbicki 73307a6f8f Provisioning: allow whitespace in remote paths (#103427) 2025-04-16 08:45:12 +01:00
Serge Zaitsev 047f5edae9 Chore: Add xorm.io/core into xorm (#103700)
* add xorm.io/core into xorm

* update workspace

* format imports

* update workspace
2025-04-16 08:58:50 +02:00
ismail simsek 10eb8aeeee Prometheus: Remove /series endpoint usage from Metrics Browser (#101705)
* convert it to functional component

* useReducer

* usePromQueryFieldEffects

* clean up the code

* remove localStorage provider

* introduce usePromQueryFieldEffects.test.ts

* simpler state management

* remove mocks

* linting + betterer

* Split PrometheusMetricsBrowser into small functional components

* remove /series endpoint usages for Metrics Browser

* add time ranges

* remove unused file

* fix unit test

* use limit

* re-fetch labels when a label value is selected

* reset the label keys when selector is empty

* select multiple labelValue

* fix unit tests

* add comments

* don't show unpresented labelKeys

* don't clear out selected label keys that are in local storage

* show values properly

* fix clearing

* don't discard already selected label values when a new label value selected

* remove unnecessary unit test

* clear all selections

* if metrics list is empty remove all label keys too

* re-populate values when all label selections are removed

* safety

* more comments

* updating the whole fetching mechanism

* buildSafeSelector

* loadSelectedLabelsFromStorage

* fetchMetrics

* fetchLabelKeys

* fetchLabelValues

* more unit test and comment

* timeRange changes will trigger re-fetch

* some more comments

* fix the unit test

* lint

* fix unit tests

* fix timerange causing problem

* remove fethcing message

* proper initialization

* fix value fetching during metric selection

* fix value fetching

* fix unit tests

* fix a bug

* comments

* some precaution

* fix the test

* fetch metrics when metric selection is changed

* trigger initialize when seriesLimit is change

* Revert "trigger initialize when seriesLimit is change"

This reverts commit c6cbbc1386.

* remove redundant comments
2025-04-16 08:36:23 +02:00
Hugo Häggmark 74487726fc e2e: improves flakiness and speed (#103533)
* e2e: improves flakiness

* Chore: refactor flaky test

* e2e: more refactor

* e2e: do not keep successfull test run videos

* e2e: do not log selectors

* chore: updates after pr feedback

* chore: updates after pr feedback

* chore: adds retries to flaky e2e test

* e2e: skip flaky tests

* e2e: skip flaky tests

* e2e: revert back to timeout

* chore: removes all the skips
2025-04-16 05:21:06 +01:00
Marco de Abreu 5d65063987 GitHub Actions: Explicitly pass github username and commit sha (#104079)
Explicitly pass github username and commit sha

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 20:01:40 -05:00
grafana-pr-automation[bot] 1b7207f3e6 I18n: Download translations from Crowdin (#104078)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-16 01:32:11 +01:00
Marco de Abreu 5094bc29c3 GitHub Action: Fix syntax error (#104074)
Fix syntax error

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 21:47:44 +00:00
Marco de Abreu d57fa1291f Dashboards: Disallow List with RV filter on legacy & align RV format (#104003)
Throw errors when trying to call List in legacy with an RV specified
Change ResourceVersion to microseconds

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 22:08:54 +01:00
Gilles De Mey 71b06e9845 Alerting: Return an empty array for contact points with no integrations (#104063)
Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-04-15 21:52:56 +01:00
Marco de Abreu 4e33702ea2 GitHub: Add workflows for jobs in private repo (#104052)
Add workflows for jobs in private repo

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 21:46:31 +01:00
Marco de Abreu 2a61763703 Dashboards: Don't run cleanup job when backed by legacy storage (#104001)
Don't run dashboard cleanup job when backed by legacy storage

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 13:43:05 -07:00
Marco de Abreu 163a8d5f0c NGAlert: Fix flaky test (#104070)
Fix flaky test

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 20:56:42 +01:00
wuweng 3320dc116e skip trace for '/api/health' endpoint (#103430)
* skip trace for '/api/health' endpoint

* fix formatting

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-04-15 15:47:58 -04:00
Marco de Abreu f421c71373 Provisioning: Fix flaky test CreatingGitHubRepository (#104068)
Fix flaky CreatingGitHubRepository

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 15:44:27 -04:00
Nick Richmond b671c69eb1 MetricsDrilldown: Restore link to Metrics Drilldown from Explore (#104069)
fix: add missing entry in list of queryless apps
2025-04-15 20:41:40 +01:00
Moustafa Baiou b604fdf6f8 Alerting: Update docs for RBAC (#104005)
* Alerting: Update docs for RBAC

This updates the documentation for RBAC to match the changes from 032299011a

* add note about RBAC permissions with datasource permissions

* writers toolkit update
2025-04-15 15:34:19 -04:00
Matias Chomicki b2847f3b4d Loki Query Editor: Interpolate query before evaluating type and add variables support to ranged aggregation (#104035)
* LokiQueryBuilderOptions: interpolate query before evaluating

* Query builder: parse variables in vector aggregation

* Fix imports

* Update public/app/plugins/datasource/loki/querybuilder/components/LokiQueryBuilderOptions.tsx

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

* Add comment

---------

Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
2025-04-15 20:20:40 +01:00
Marco de Abreu b3b92e2471 Storage: Change timeout for flaky test (#104065)
Change timeout for flaky test

Co-authored-by: Marco de Abreu <18629099+marcoabreu@users.noreply.github.com>
2025-04-15 19:28:27 +01:00
Kevin Minehart 79eb1b0033 CI: remove go test cache write/delete (#104064)
remove go test cache write/save/delete
2025-04-15 19:07:36 +01:00
Edvard Falkskär e45f2d0a18 Logs: Add labels as variable for use in correlations/links (#103605) 2025-04-15 16:08:29 +02:00
Roberto Jiménez Sánchez 08316103b5 Provisioning: refactor and test migrate job (#103976)
* Rename and make folder migrator public

* Move skipRepo out of tree

* Move folder logic out of worker

* Use wrapper function for clone

* Introduce storage swapper

* Use RepositoryResources interface

* Add TODO

* Signature with option

* Use plural for folders

* Split more logic out of worker

* Refactor further

* Remove todo

* Refactor further

* Test worker

* Add test for unified storage

* Add mock for bulk store

* Clean line

* Test more about storage

* Happy path storage test

* Finish storage tests

* Add more interfaces

* Add some tests legacy

* Complete test coverage legacy

* Complete coverage legacy

* Fix compilation

* Add initial folders tests

* Finish coverage for folders

* Test namespace cleaner

* Fix typo

* Add some tests for resources

* Finish coverage migrate package

* Update tests

* Fix jobs tests

* Unit test users

* Convert user tests to table tests

* Fix linting in tests

* Fix typo

* Use PreloadAllUserInfo

* Add FIXME
2025-04-15 15:02:19 +01:00
Andres Martinez Gotor e93fc9c003 UserStorage: Improve error handling (#104025) 2025-04-15 15:32:46 +02:00
Sonia Aguilar aacac86811 Alerting: Add additional text for creating a new label in labels subform (#104022) 2025-04-15 15:25:35 +02:00
Tom Ratcliffe 8161e52061 i18n: Improve how ternary cases are captured as untranslated text (#104034) 2025-04-15 14:07:23 +01:00
Gábor Farkas 66a04babe1 datasources: querier: handle the grafana-ds (#103980)
* datasources: querier: handle the grafana-ds

* updated dependencies
2025-04-15 14:55:39 +02:00
Tom Ratcliffe eac312753f Internationalization: Update translation rule to catch ternary cases (#104027) 2025-04-15 12:25:41 +01:00
Esteban Beltran 7b4eb22242 Chore: Remove code for feature flag frontendSandboxMonitorOnly (#103982)
* Chore: Remove code for feature flag frontendSandboxMonitorOnly

* Fix lint issues
2025-04-15 12:52:14 +02:00
Sam Jewell 5c418196f9 SQL Expressions: Add STDDEV(), VARIANCE() and aliases (#103851)
* SQL Expressions: Bump GMS for STDDEV(), VARIANCE()

Bump Go MySQL Server to the latest version, to get support for STDDEV()
and VARIANCE() functions, and their aliases.

See https://github.com/dolthub/go-mysql-server/pull/2928

* Update app-code to comply with latest GMS version

* Run `go mod tidy`

* Update test which had depended on STDDEV being missing

* Run `make update-workspace`
2025-04-15 10:48:19 +01:00
Alexander Zobnin 4ea56b2cfb Zanzana: Fix reconciliation for roles (#103889)
* Zanzana: Fix reconciliation for roles

* update go workspaces

* update go.sum
2025-04-15 11:33:40 +02:00
Sam Jewell 3bdcbc5d37 TestData DS: Make Random Walk queries compatible with Data Plane (#103966)
* DataData DS: Add Frame type to Random Walk queries

* Time column should not be nullable

Conversion for the SQL (server-side) expression was failing with:
`failed to convert data frames to long format for sql: missing time field`

Because we weren't seeing a match at:
`if f.Type() == data.FieldTypeTime {`]
here:
https://github.com/grafana/grafana/blob/acb0e6b609fc5b099e9ba6c67000aa3a0029974d/pkg/expr/convert_to_full_long.go#L155

The DataPlane docs (https://grafana.com/developers/dataplane/timeseries)
state that:
> - The Time field(s):
>    - Should have no null values

So making the fix here
2025-04-15 10:25:33 +01:00
Andres Martinez Gotor 19e77db4e7 Advisor: Avoid redirect if app is not installed (#103988) 2025-04-15 11:21:41 +02:00
Matias Chomicki 91687735b8 getLogRowStyles: fix typo (#103998) 2025-04-15 10:07:13 +01:00
Ashley Harrison a2b06e2ec9 Internationalisation: More markup (#103970)
* more markup!

* fix tests

* use times symbol
2025-04-15 10:05:03 +01:00
Andrej Ocenas 9748b16ee8 Frontend instrumentation: Fix bug, where allInstrumentationsEnabled=false resulted in all instrumentation being active (#103979)
Fix allInstrumentationsEnabled flag
2025-04-15 10:58:13 +02:00
Torkel Ödegaard daa5a48ef1 Variable options edit pane (#103852)
* Variable options in edit pane

* Variable options in edit pane

* Progress

* Variables, fixes blur events

* Update

* Update

* Update

* Progress

* Update

* Update
2025-04-15 10:38:24 +02:00
renovate[bot] 8e63782e5b Update faro to v1.16.0 (#103860)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 09:27:07 +01:00
Alex Khomenko 146c3120a7 Folders: Switch to use v1beta1 API version (#104020) 2025-04-15 10:21:47 +03:00
Moustafa Baiou 54d4b7842b Alerting: Fix flaky tests (#104017)
Alerting: fix flaky tests

Some test conditions introduced in #103403 are flaky because they rely on random behavior of the generator.

Sometimes rules are generated with an updated by (which warrants the lookup of the users). This makes it so those tests which are checking the user lookup always have rules with updated by.
2025-04-15 08:15:29 +03:00
Juan Cabanas 84ffe27f71 Invite User: Add invite user button in quick add dropdown menu (#104004) 2025-04-14 20:08:49 -07:00
grafana-pr-automation[bot] 59d03cd617 I18n: Download translations from Crowdin (#104018)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-15 01:31:47 +01:00
9199 changed files with 693801 additions and 275177 deletions
+25
View File
@@ -0,0 +1,25 @@
[build]
bin = "./bin/grafana"
args_bin = ["server", "-profile", "-profile-addr=127.0.0.1", "-profile-port=6000", "-profile-block-rate=1", "-profile-mutex-rate=5", "-packaging=dev", "cfg:app_mode=development"]
cmd = "make GO_BUILD_DEV=1 build-backend"
exclude_regex = ["_test.go", "_gen.go"]
exclude_unchanged = true
follow_symlink = true
include_dir = ["apps", "conf", "devenv/dev-dashboards", "pkg", "public/views"]
include_ext = ["go", "ini", "toml", "html", "json"]
stop_on_error = false
send_interrupt = true
kill_delay = 500
[log]
time = true
[misc]
clean_on_exit = false
[proxy]
enabled = false
[screen]
clear_on_rebuild = false
keep_scroll = true
+71 -18
View File
@@ -10,12 +10,16 @@ const testingLibraryPlugin = require('eslint-plugin-testing-library');
const grafanaConfig = require('@grafana/eslint-config/flat');
const grafanaPlugin = require('@grafana/eslint-plugin');
const grafanaI18nPlugin = require('@grafana/i18n/eslint-plugin');
// Include the Grafana config and remove the rules,
// Include the base Grafana configs and remove the rules,
// as we just want to pull in all of the necessary configuration but not run the rules
// (this should only be concerned with checking rules that we want to improve,
// so there's no need to try and run the rules that will be linted properly anyway)
const { rules, ...baseConfig } = grafanaConfig;
const mappedBaseConfigs = grafanaConfig.map((config) => {
const { rules, ...baseConfig } = config;
return baseConfig;
});
/**
* @type {Array<import('eslint').Linter.Config>}
@@ -34,7 +38,7 @@ module.exports = [
'data/',
'deployment_tools_config.json',
'devenv',
'e2e/test-plugins',
'e2e-playwright/test-plugins',
'e2e/tmp',
'packages/grafana-ui/src/components/Icon/iconBundle.ts',
'pkg',
@@ -48,15 +52,13 @@ module.exports = [
],
},
{
name: 'react/jsx-runtime',
// @ts-ignore - not sure why but flat config is typed as a maybe?
...reactPlugin.configs.flat['jsx-runtime'],
name: 'react/jsx-runtime-rules',
rules: reactPlugin.configs.flat['jsx-runtime'].rules,
},
...mappedBaseConfigs,
{
files: ['**/*.{ts,tsx,js}'],
...baseConfig,
plugins: {
...baseConfig.plugins,
'@emotion': emotionPlugin,
lodash: lodashPlugin,
jest: jestPlugin,
@@ -65,6 +67,7 @@ module.exports = [
'no-barrel-files': barrelPlugin,
'@grafana': grafanaPlugin,
'testing-library': testingLibraryPlugin,
'@grafana/i18n': grafanaI18nPlugin,
},
linterOptions: {
// This reports unused disable directives that we can clean up but
@@ -75,6 +78,7 @@ module.exports = [
{
files: ['**/*.{js,jsx,ts,tsx}'],
rules: {
'react-hooks/rules-of-hooks': 'error',
'@typescript-eslint/no-explicit-any': 'error',
'@grafana/no-aria-label-selectors': 'error',
'no-restricted-imports': [
@@ -96,12 +100,59 @@ module.exports = [
},
},
{
files: ['**/*.{ts,tsx}'],
ignores: ['**/*.{test,spec}.{ts,tsx}', '**/__mocks__/**', '**/public/test/**', '**/mocks.{ts,tsx}'],
files: ['**/*.{js,jsx,ts,tsx}'],
ignores: [
'**/*.{test,spec}.{ts,tsx}',
'**/__mocks__/**',
'**/public/test/**',
'**/mocks.{ts,tsx}',
'**/mocks/**/*.{ts,tsx}',
'**/spec/**/*.{ts,tsx}',
],
rules: {
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
},
},
{
files: ['**/*.{js,jsx,ts,tsx}'],
ignores: [
'**/*.{test,spec}.{ts,tsx}',
'**/__mocks__/**',
'**/public/test/**',
'**/mocks.{ts,tsx}',
'**/spec/**/*.{ts,tsx}',
],
rules: {
'no-restricted-syntax': [
'error',
{
selector: 'Identifier[name=localStorage]',
message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead',
},
{
selector: 'MemberExpression[object.name=localStorage]',
message: 'Direct usage of localStorage is not allowed. import store from @grafana/data instead',
},
{
selector:
'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Card"]) JSXOpeningElement[name.name="Card"]:not(:has(JSXAttribute[name.name="noMargin"]))',
message:
'Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.',
},
{
selector:
'Program:has(ImportDeclaration[source.value="@grafana/ui"] ImportSpecifier[imported.name="Field"]) JSXOpeningElement[name.name="Field"]:not(:has(JSXAttribute[name.name="noMargin"]))',
message:
'Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.',
},
{
selector: 'CallExpression[callee.type="MemberExpression"][callee.property.name="localeCompare"]',
message:
'Using localeCompare() can cause performance issues when sorting large datasets. Consider using Intl.Collator for better performance when sorting arrays, or add an eslint-disable comment if sorting a small, known dataset.',
},
],
},
},
{
files: ['public/app/**/*.{ts,tsx}'],
rules: {
@@ -109,20 +160,22 @@ module.exports = [
},
},
{
files: ['public/**/*.tsx', 'packages/grafana-ui/**/*.tsx'],
ignores: ['public/app/plugins/**', '**/*.story.tsx', '**/*.{test,spec}.{ts,tsx}', '**/__mocks__/', 'public/test'],
// custom rule for Table to avoid performance regressions
files: ['packages/grafana-ui/src/components/Table/TableNG/Cells/**/*.{ts,tsx}'],
rules: {
'@grafana/no-untranslated-strings': [
'no-restricted-imports': [
'error',
{
forceFix: [
// Add paths here that are happy to be auto fixed by this rule,
// for example
// 'public/app/features/alerting'
patterns: [
{
group: ['**/themes/ThemeContext'],
importNames: ['useStyles2', 'useTheme2'],
message:
'Do not use "useStyles2" or "useTheme2" in a cell directly. Instead, provide styles to cells via `getDefaultCellStyles` or `getCellSpecificStyles`.',
},
],
},
],
'@grafana/no-translation-top-level': 'error',
},
},
];
+1430 -1186
View File
File diff suppressed because it is too large Load Diff
+23 -1
View File
@@ -17,13 +17,35 @@ export default {
countEslintErrors()
.include('**/*.{ts,tsx}')
.exclude(new RegExp(eslintPathsToIgnore.join('|'))),
'no undocumented stories': () => countUndocumentedStories().include('**/!(*.internal).story.tsx'),
'no undocumented stories': () => countUndocumentedStories().include('**/*.story.tsx'),
'no skipping a11y tests in stories': () => countSkippedA11yTestStories().include('**/*.story.tsx'),
'no gf-form usage': () =>
regexp(/gf-form/gm, 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.')
.include('**/*.{ts,tsx,html}')
.exclude(new RegExp('packages/grafana-ui/src/themes/GlobalStyles')),
};
function countSkippedA11yTestStories() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
filePaths.map(async (filePath) => {
// look for skipped a11y tests
const skipRegex = new RegExp("a11y: { test: 'off' }", 'gm');
const fileText = await fs.readFile(filePath, 'utf8');
const hasSkip = skipRegex.test(fileText);
if (hasSkip) {
// In this case the file contents don't matter:
const file = fileTestResult.addFile(filePath, '');
// Add the issue to the first character of the file:
file.addIssue(0, 0, 'No skipping of a11y tests in stories. Please fix the component or story instead.');
}
})
);
});
}
function countUndocumentedStories() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
-13
View File
@@ -1,13 +0,0 @@
# Ignore everything
*
# But not these files:
!.gitignore
!*.mod
!*.sum
!README.md
!Variables.mk
!variables.env
*tmp.mod
-14
View File
@@ -1,14 +0,0 @@
# Project Development Dependencies.
This is directory which stores Go modules with pinned buildable package that is used within this repository, managed by https://github.com/bwplotka/bingo.
- Run `bingo get` to install all tools having each own module file in this directory.
- Run `bingo get <tool>` to install <tool> that have own module file in this directory.
- For Makefile: Make sure to put `include .bingo/Variables.mk` in your Makefile, then use $(<upper case tool name>) variable where <tool> is the .bingo/<tool>.mod.
- For shell: Run `source .bingo/variables.env` to source all environment variable for each tool.
- For go: Import `.bingo/variables.go` to for variable names.
- See https://github.com/bwplotka/bingo or -h on how to add, remove or change binaries dependencies.
## Requirements
- Go 1.14+
-25
View File
@@ -1,25 +0,0 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
BINGO_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
GOPATH ?= $(shell go env GOPATH)
GOBIN ?= $(firstword $(subst :, ,${GOPATH}))/bin
GO ?= $(shell which go)
# Below generated variables ensure that every time a tool under each variable is invoked, the correct version
# will be used; reinstalling only if needed.
# For example for drone variable:
#
# In your main Makefile (for non array binaries):
#
#include .bingo/Variables.mk # Assuming -dir was set to .bingo .
#
#command: $(DRONE)
# @echo "Running drone"
# @$(DRONE) <flags/args..>
#
DRONE := $(GOBIN)/drone-v1.5.0
$(DRONE): $(BINGO_DIR)/drone.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
-7
View File
@@ -1,7 +0,0 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.17
replace github.com/docker/docker => github.com/docker/engine v17.12.0-ce-rc1.0.20200309214505-aa6a9891b09c+incompatible
require github.com/drone/drone-cli v1.5.0 // drone CGO_ENABLED=0
-1010
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
module _ // Fake go.mod auto-created by 'bingo' for go -moddir compatibility with non-Go projects. Commit this file, together with other .mod files.
-12
View File
@@ -1,12 +0,0 @@
# Auto generated binary variables helper managed by https://github.com/bwplotka/bingo v0.9. DO NOT EDIT.
# All tools are designed to be build inside $GOBIN.
# Those variables will work only until 'bingo get' was invoked, or if tools were installed via Makefile's Variables.mk.
GOBIN=${GOBIN:=$(go env GOBIN)}
if [ -z "$GOBIN" ]; then
GOBIN="$(go env GOPATH)/bin"
fi
DRONE="${GOBIN}/drone-v1.5.0"
-1
View File
@@ -234,7 +234,6 @@ Grunt & Watch tasks:
- binary to `/usr/sbin/grafana-server`
- init.d script improvements, renamed to `/etc/init.d/grafana-server`
- added default file with environment variables,
- `/etc/default/grafana-server` (deb/ubuntu)
- `/etc/sysconfig/grafana-server` (centos/redhat)
+41
View File
@@ -0,0 +1,41 @@
## API
### Adding and Upgrading Tools
To add a new tool, execute the installation script:
```bash
install.sh <tool>
```
#### Example
The following command will add `lefthook` to the tracked tools if it is not already installed, or update its version:
```bash
install.sh github.com/evilmartians/lefthook@v1.11.10
```
Behind the scenes, the script performs a few simple steps:
- Creates a Go module under the `.citools/src/<toolname>` directory to track the tool version and its dependencies.
- Creates a reference to the tool binary in the `.citools/Variables.mk` file.
### Using Tools in the Makefile
Our Makefile imports `.citools/Variables.mk`, so you can call a tool binary using standard Make syntax.
#### Example
```make
run:
$(bra) run
```
### Using Tracked Tools Without the Makefile
If you want to use a tool outside of the Makefile, you can locate the tool binary by executing the following command:
```bash
GOWORK=off go tool -n -modfile=<path_to_modfile> <toolname>
```
+37
View File
@@ -0,0 +1,37 @@
# Generated tool paths
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
)
endef
# Tool: "air"
air = "$(call compile_tool,air,github.com/air-verse/air)"
# Tool: "bra"
bra = "$(call compile_tool,bra,github.com/unknwon/bra)"
# Tool: "cog"
cog = "$(call compile_tool,cog,github.com/grafana/cog/cmd/cli)"
# Tool: "cue"
cue = "$(call compile_tool,cue,cuelang.org/go/cmd/cue)"
# Tool: "golangci-lint"
golangci-lint = "$(call compile_tool,golangci-lint,github.com/golangci/golangci-lint/v2/cmd/golangci-lint)"
# Tool: "jb"
jb = "$(call compile_tool,jb,github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb)"
# Tool: "lefthook"
lefthook = "$(call compile_tool,lefthook,github.com/evilmartians/lefthook)"
# Tool: "swagger"
swagger = "$(call compile_tool,swagger,github.com/go-swagger/go-swagger/cmd/swagger)"
-50
View File
@@ -1,50 +0,0 @@
module cog
go 1.24.5
tool github.com/grafana/cog/cmd/cli
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/expr-lang/expr v1.17.0 // indirect
github.com/getkin/kin-openapi v0.132.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d // indirect
github.com/grafana/cog v0.0.28 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/yalue/merged_fs v1.3.0 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/oauth2 v0.26.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-106
View File
@@ -1,106 +0,0 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg=
github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk=
github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d h1:hrXbGJ5jgp6yNITzs5o+zXq0V5yT3siNJ+uM8LGwWKk=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d/go.mod h1:zmwwM/DRyQB7pfuBjTWII3CWtxcXh8LTwAYGfDfpR6s=
github.com/grafana/cog v0.0.28 h1:0+FNuxyfNWm1OBZPPjgBIno3nzR4gOpSxsVe34hdN7g=
github.com/grafana/cog v0.0.28/go.mod h1:wZWsTLV7uX0jCbGpqvjawQ7JbaDVT9oW+PQhHwqanHc=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yalue/merged_fs v1.3.0 h1:qCeh9tMPNy/i8cwDsQTJ5bLr6IRxbs6meakNE5O+wyY=
github.com/yalue/merged_fs v1.3.0/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-37
View File
@@ -1,37 +0,0 @@
module cue
go 1.24.5
tool cuelang.org/go/cmd/cue
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/tetratelabs/wazero v1.6.0 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/net v0.41.0 // indirect
golang.org/x/oauth2 v0.26.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-74
View File
@@ -1,74 +0,0 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+36
View File
@@ -0,0 +1,36 @@
#!/bin/bash
set -euo pipefail
TOOLS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TOOLS_SRC_DIR="$TOOLS_DIR/src"
TOOLS_MK="$TOOLS_DIR/Variables.mk"
echo "# Generated tool paths" > "$TOOLS_MK"
cat <<'EOL' >> "$TOOLS_MK"
tools_dir := $(shell cd $(dir $(lastword $(MAKEFILE_LIST))) && pwd)
src_dir := $(tools_dir)/src
# Due to a race condition, after initial call to `go tool` golang may report a wrong binary location pointing to the invalid `/tmp/go-buildXXX` directory
define compile_tool
$(shell \
(cd $(src_dir)/$(1) \
&& GOWORK=off go tool -n $(2) > /dev/null \
&& GOWORK=off go tool -n $(2)) | sed 's/^[[:space:]]*//g'; \
)
endef
EOL
for tooldir in "$TOOLS_SRC_DIR"/*; do
[ -d "$tooldir" ] || continue
tool=$(basename "$tooldir")
fqtn=$(awk '/^tool / { print $2 }' "$tooldir/go.mod")
cat <<EOL >> "$TOOLS_MK"
# Tool: "$tool"
${tool} = "\$(call compile_tool,${tool},${fqtn})"
EOL
done
-201
View File
@@ -1,201 +0,0 @@
module golangci-lint
go 1.24.5
tool github.com/golangci/golangci-lint/v2/cmd/golangci-lint
require (
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
4d63.com/gochecknoglobals v0.2.2 // indirect
github.com/4meepo/tagalign v1.4.2 // indirect
github.com/Abirdcfly/dupword v0.1.3 // indirect
github.com/Antonboom/errname v1.1.0 // indirect
github.com/Antonboom/nilnil v1.1.0 // indirect
github.com/Antonboom/testifylint v1.6.0 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Crocmagnon/fatcontext v0.7.1 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
github.com/alexkohler/nakedret/v2 v2.0.5 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/alingse/nilnesserr v0.1.2 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.2.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.6.0 // indirect
github.com/breml/bidichk v0.3.3 // indirect
github.com/breml/errchkjson v0.4.1 // indirect
github.com/butuzov/ireturn v0.3.1 // indirect
github.com/butuzov/mirror v1.3.0 // indirect
github.com/catenacyber/perfsprint v0.9.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/daixiang0/gci v0.13.6 // indirect
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.5 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.12 // indirect
github.com/go-critic/go-critic v0.13.0 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.0 // indirect
github.com/go-toolsmith/astfmt v1.1.0 // indirect
github.com/go-toolsmith/astp v1.1.0 // indirect
github.com/go-toolsmith/strparse v1.1.0 // indirect
github.com/go-toolsmith/typep v1.1.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
github.com/golangci/golangci-lint/v2 v2.0.2 // indirect
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e // indirect
github.com/gordonklaus/ineffassign v0.1.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.5.0 // indirect
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.7.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.4 // indirect
github.com/julz/importas v0.2.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.2.1 // indirect
github.com/kisielk/errcheck v1.9.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.10 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/exptostd v0.4.2 // indirect
github.com/ldez/gomoddirectives v0.6.1 // indirect
github.com/ldez/grignotin v0.9.0 // indirect
github.com/ldez/tagliatelle v0.7.1 // indirect
github.com/ldez/usetesting v0.4.2 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v1.1.0 // indirect
github.com/matryer/is v1.4.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mgechev/revive v1.7.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.19.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/polyfloyd/go-errorlint v1.7.1 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.63.0 // indirect
github.com/prometheus/procfs v0.16.1 // indirect
github.com/quasilyte/go-ruleguard v0.4.4 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/ryancurrah/gomodguard v1.4.1 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect
github.com/securego/gosec/v2 v2.22.2 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.2.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tdakkota/asciicheck v0.4.1 // indirect
github.com/tetafro/godot v1.5.0 // indirect
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
github.com/timonwong/loggercheck v0.10.1 // indirect
github.com/tomarrell/wrapcheck/v2 v2.10.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.2.0 // indirect
github.com/ultraware/whitespace v0.2.0 // indirect
github.com/uudashr/gocognit v1.2.0 // indirect
github.com/uudashr/iface v1.3.1 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.13.0 // indirect
go-simpler.org/sloglint v0.9.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.34.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.6.1 // indirect
mvdan.cc/gofumpt v0.7.0 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)
-587
View File
@@ -1,587 +0,0 @@
4d63.com/gocheckcompilerdirectives v1.3.0 h1:Ew5y5CtcAAQeTVKUVFrE7EwHMrTO6BggtEj8BZSjZ3A=
4d63.com/gocheckcompilerdirectives v1.3.0/go.mod h1:ofsJ4zx2QAuIP/NO/NAh1ig6R1Fb18/GI7RVMwz7kAY=
4d63.com/gochecknoglobals v0.2.2 h1:H1vdnwnMaZdQW/N+NrkT1SZMTBmcwHe9Vq8lJcYYTtU=
4d63.com/gochecknoglobals v0.2.2/go.mod h1:lLxwTQjL5eIesRbvnzIP3jZtG140FnTdz+AlMa+ogt0=
github.com/4meepo/tagalign v1.4.2 h1:0hcLHPGMjDyM1gHG58cS73aQF8J4TdVR96TZViorO9E=
github.com/4meepo/tagalign v1.4.2/go.mod h1:+p4aMyFM+ra7nb41CnFG6aSDXqRxU/w1VQqScKqDARI=
github.com/Abirdcfly/dupword v0.1.3 h1:9Pa1NuAsZvpFPi9Pqkd93I7LIYRURj+A//dFd5tgBeE=
github.com/Abirdcfly/dupword v0.1.3/go.mod h1:8VbB2t7e10KRNdwTVoxdBaxla6avbhGzb8sCTygUMhw=
github.com/Antonboom/errname v1.1.0 h1:A+ucvdpMwlo/myWrkHEUEBWc/xuXdud23S8tmTb/oAE=
github.com/Antonboom/errname v1.1.0/go.mod h1:O1NMrzgUcVBGIfi3xlVuvX8Q/VP/73sseCaAppfjqZw=
github.com/Antonboom/nilnil v1.1.0 h1:jGxJxjgYS3VUUtOTNk8Z1icwT5ESpLH/426fjmQG+ng=
github.com/Antonboom/nilnil v1.1.0/go.mod h1:b7sAlogQjFa1wV8jUW3o4PMzDVFLbTux+xnQdvzdcIE=
github.com/Antonboom/testifylint v1.6.0 h1:6rdILVPt4+rqcvhid8w9wJNynKLUgqHNpFyM67UeXyc=
github.com/Antonboom/testifylint v1.6.0/go.mod h1:k+nEkathI2NFjKO6HvwmSrbzUcQ6FAnbZV+ZRrnXPLI=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/Crocmagnon/fatcontext v0.7.1 h1:SC/VIbRRZQeQWj/TcQBS6JmrXcfA+BU4OGSVUt54PjM=
github.com/Crocmagnon/fatcontext v0.7.1/go.mod h1:1wMvv3NXEBJucFGfwOJBxSVWcoIO6emV215SMkW9MFU=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 h1:Sz1JIXEcSfhz7fUi7xHnhpIE0thVASYjvosApmHuD2k=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1/go.mod h1:n/LSCXNuIYqVfBlVXyHfMQkZDdp1/mmxfSjADd3z1Zg=
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgzrVxUYBlgKNGquUo=
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU=
github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E=
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/alexkohler/nakedret/v2 v2.0.5 h1:fP5qLgtwbx9EJE8dGEERT02YwS8En4r9nnZ71RK+EVU=
github.com/alexkohler/nakedret/v2 v2.0.5/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I=
github.com/alingse/nilnesserr v0.1.2 h1:Yf8Iwm3z2hUUrP4muWfW83DF4nE3r1xZ26fGWUKCZlo=
github.com/alingse/nilnesserr v0.1.2/go.mod h1:1xJPrXonEtX7wyTq8Dytns5P2hNzoWymVUIaKm4HNFg=
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.2.0 h1:/2Lp1bypdmK9wDIq7uWBlDF1iMUpIIS4A+pF6C9IEUU=
github.com/ashanbrown/makezero v1.2.0/go.mod h1:dxlPhHbDMC6N6xICzFBSK+4njQDdK8euNO0qjQMtGY4=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bkielbasa/cyclop v1.2.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
github.com/bkielbasa/cyclop v1.2.3/go.mod h1:kHTwA9Q0uZqOADdupvcFJQtp/ksSnytRMe8ztxG8Fuo=
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v4 v4.6.0 h1:ew2R/N42su553DKTYqt3HSxaQN+uHQPv4xZ2MBmwaW4=
github.com/bombsimon/wsl/v4 v4.6.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg=
github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE=
github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE=
github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg=
github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s=
github.com/butuzov/ireturn v0.3.1 h1:mFgbEI6m+9W8oP/oDdfA34dLisRFCj2G6o/yiI1yZrY=
github.com/butuzov/ireturn v0.3.1/go.mod h1:ZfRp+E7eJLC0NQmk1Nrm1LOrn/gQlOykv+cVPdiXH5M=
github.com/butuzov/mirror v1.3.0 h1:HdWCXzmwlQHdVhwvsfBb2Au0r3HyINry3bDWLYXiKoc=
github.com/butuzov/mirror v1.3.0/go.mod h1:AEij0Z8YMALaq4yQj9CPPVYOyJQyiexpQEQgihajRfI=
github.com/catenacyber/perfsprint v0.9.1 h1:5LlTp4RwTooQjJCvGEFV6XksZvWE7wCOUvjD2z0vls0=
github.com/catenacyber/perfsprint v0.9.1/go.mod h1:q//VWC2fWbcdSLEY1R3l8n0zQCDPdE4IjZwyY1HMunM=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4=
github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs=
github.com/ckaznocha/intrange v0.3.1/go.mod h1:QVepyz1AkUoFQkpEqksSYpNpUo3c5W7nWh/s6SHIJJk=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/curioswitch/go-reassign v0.3.0 h1:dh3kpQHuADL3cobV/sSGETA8DOv457dwl+fbBAhrQPs=
github.com/curioswitch/go-reassign v0.3.0/go.mod h1:nApPCCTtqLJN/s8HfItCcKV0jIPwluBOvZP+dsJGA88=
github.com/daixiang0/gci v0.13.6 h1:RKuEOSkGpSadkGbvZ6hJ4ddItT3cVZ9Vn9Rybk6xjl8=
github.com/daixiang0/gci v0.13.6/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk=
github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY=
github.com/dave/dst v0.27.3/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
github.com/firefart/nonamedreturns v1.0.5 h1:tM+Me2ZaXs8tfdDw3X6DOX++wMCOqzYUho6tUTYIdRA=
github.com/firefart/nonamedreturns v1.0.5/go.mod h1:gHJjDqhGM4WyPt639SOZs+G89Ko7QKH5R5BhnO6xJhw=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.12 h1:xTPjH97iKph27vXRRKV0OCke5sAMoHPbVeVstdzmCLE=
github.com/ghostiam/protogetter v0.3.12/go.mod h1:WZ0nw9pfzsgxuRsPOFQomgDVSWtDLJRfQJEhsGbmQMA=
github.com/go-critic/go-critic v0.13.0 h1:kJzM7wzltQasSUXtYyTl6UaPVySO6GkaR1thFnJ6afY=
github.com/go-critic/go-critic v0.13.0/go.mod h1:M/YeuJ3vOCQDnP2SU+ZhjgRzwzcBW87JqLpMJLrZDLI=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s=
github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw=
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk=
github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus=
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.3 h1:t8Ey3Uy7jDSEisW2K3somuMKIpzktkWptA0iFCnRUWY=
github.com/go-xmlfmt/xmlfmt v1.1.3/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6OmeSBYQJNSif4O11+bmWEz+C7FYw=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E=
github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUPPyAKJuzv8pEJU=
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
github.com/golangci/golangci-lint/v2 v2.0.2 h1:dMCC8ikPiLDvHMFy3+XypSAuGDBOLzwWqqamer+bWsY=
github.com/golangci/golangci-lint/v2 v2.0.2/go.mod h1:ptNNMeGBQrbves0Qq38xvfdJg18PzxmT+7KRCOpm6i8=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
github.com/golangci/revgrep v0.8.0 h1:EZBctwbVd0aMeRnNUsFogoyayvKHyxlV3CdUA46FX2s=
github.com/golangci/revgrep v0.8.0/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
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/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
github.com/gostaticanalysis/comment v1.5.0 h1:X82FLl+TswsUMpMh17srGRuKaaXprTaytmEpgnKIDu8=
github.com/gostaticanalysis/comment v1.5.0/go.mod h1:V6eb3gpCv9GNVqb6amXzEUX3jXLVK/AdA+IrAMSqvEc=
github.com/gostaticanalysis/forcetypeassert v0.2.0 h1:uSnWrrUEYDr86OCxWa4/Tp2jeYDlogZiZHzGkWFefTk=
github.com/gostaticanalysis/forcetypeassert v0.2.0/go.mod h1:M5iPavzE9pPqWyeiVXSFghQjljW1+l/Uke3PXHS6ILY=
github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk=
github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A=
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+3Zh0sUGqw8=
github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 h1:CUW5RYIcysz+D3B+l1mDeXrQ7fUvGGCwJfdASSzbrfo=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jjti/go-spancheck v0.6.4 h1:Tl7gQpYf4/TMU7AT84MN83/6PutY21Nb9fuQjFTpRRc=
github.com/jjti/go-spancheck v0.6.4/go.mod h1:yAEYdKJ2lRkDA8g7X+oKUHXOWVAXSBJRv04OhF+QUjk=
github.com/julz/importas v0.2.0 h1:y+MJN/UdL63QbFJHws9BVC5RpA2iq0kpjrFajTGivjQ=
github.com/julz/importas v0.2.0/go.mod h1:pThlt589EnCYtMnmhmRYY/qn9lCf/frPOK+WMx3xiJY=
github.com/karamaru-alpha/copyloopvar v1.2.1 h1:wmZaZYIjnJ0b5UoKDjUHrikcV0zuPyyxI4SVplLd2CI=
github.com/karamaru-alpha/copyloopvar v1.2.1/go.mod h1:nFmMlFNlClC2BPvNaHMdkirmTJxVCY0lhxBtlfOypMM=
github.com/kisielk/errcheck v1.9.0 h1:9xt1zI9EBfcYBvdU1nVrzMzzUPUtPKs9bVSIM3TAb3M=
github.com/kisielk/errcheck v1.9.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi0D+/VL/i8=
github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE=
github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs=
github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I=
github.com/kunwardeep/paralleltest v1.0.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/lasiar/canonicalheader v1.1.2 h1:vZ5uqwvDbyJCnMhmFYimgMZnJMjwljN5VGY0VKbMXb4=
github.com/lasiar/canonicalheader v1.1.2/go.mod h1:qJCeLFS0G/QlLQ506T+Fk/fWMa2VmBUiEI2cuMK4djI=
github.com/ldez/exptostd v0.4.2 h1:l5pOzHBz8mFOlbcifTxzfyYbgEmoUqjxLFHZkjlbHXs=
github.com/ldez/exptostd v0.4.2/go.mod h1:iZBRYaUmcW5jwCR3KROEZ1KivQQp6PHXbDPk9hqJKCQ=
github.com/ldez/gomoddirectives v0.6.1 h1:Z+PxGAY+217f/bSGjNZr/b2KTXcyYLgiWI6geMBN2Qc=
github.com/ldez/gomoddirectives v0.6.1/go.mod h1:cVBiu3AHR9V31em9u2kwfMKD43ayN5/XDgr+cdaFaKs=
github.com/ldez/grignotin v0.9.0 h1:MgOEmjZIVNn6p5wPaGp/0OKWyvq42KnzAt/DAb8O4Ow=
github.com/ldez/grignotin v0.9.0/go.mod h1:uaVTr0SoZ1KBii33c47O1M8Jp3OP3YDwhZCmzT9GHEk=
github.com/ldez/tagliatelle v0.7.1 h1:bTgKjjc2sQcsgPiT902+aadvMjCeMHrY7ly2XKFORIk=
github.com/ldez/tagliatelle v0.7.1/go.mod h1:3zjxUpsNB2aEZScWiZTHrAXOl1x25t3cRmzfK1mlo2I=
github.com/ldez/usetesting v0.4.2 h1:J2WwbrFGk3wx4cZwSMiCQQ00kjGR0+tuuyW0Lqm4lwA=
github.com/ldez/usetesting v0.4.2/go.mod h1:eEs46T3PpQ+9RgN9VjpY6qWdiw2/QmfiDeWmdZdrjIQ=
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE=
github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04=
github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc=
github.com/matoous/godox v1.1.0 h1:W5mqwbyWrwZv6OQ5Z1a/DHGMOvXYCBP3+Ht7KMoJhq4=
github.com/matoous/godox v1.1.0/go.mod h1:jgE/3fUXiTurkdHOLT5WEkThTSuE7yxHv5iWPa80afs=
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mgechev/revive v1.7.0 h1:JyeQ4yO5K8aZhIKf5rec56u0376h8AlKNQEmjfkjKlY=
github.com/mgechev/revive v1.7.0/go.mod h1:qZnwcNhoguE58dfi96IJeSTPeZQejNeoMQLUZGi4SW4=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.19.1 h1:mjwbOlDQxZi9Cal+KfbEJTCz327OLNfwNvoZ70NJ+c4=
github.com/nunnatsa/ginkgolinter v0.19.1/go.mod h1:jkQ3naZDmxaZMXPWaS9rblH+i+GWXQCaS/JFIWcOH2s=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/polyfloyd/go-errorlint v1.7.1 h1:RyLVXIbosq1gBdk/pChWA8zWYLsq9UEw7a1L5TVMCnA=
github.com/polyfloyd/go-errorlint v1.7.1/go.mod h1:aXjNb1x2TNhoLsk26iv1yl7a+zTnXPhwEMtEXukiLR8=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ=
github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI=
github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g=
github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0=
github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.28.0 h1:jZnudE2zKCtYlGzLVreNp5pmCdOxXUzwsMDBkR21cyQ=
github.com/sashamelentyev/usestdlibvars v1.28.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.22.2 h1:IXbuI7cJninj0nRpZSLCUlotsj8jGusohfONMrHoF6g=
github.com/securego/gosec/v2 v2.22.2/go.mod h1:UEBGA+dSKb+VqM6TdehR7lnQtIIMorYJ4/9CW1KVQBE=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
github.com/sonatard/noctx v0.1.0 h1:JjqOc2WN16ISWAjAk8M5ej0RfExEXtkEyExl2hLW+OM=
github.com/sonatard/noctx v0.1.0/go.mod h1:0RvBxqY8D4j9cTTTWE8ylt2vqj2EPI8fHmrxHdsaZ2c=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0=
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stbenjam/no-sprintf-host-port v0.2.0 h1:i8pxvGrt1+4G0czLr/WnmyH7zbZ8Bg8etvARQ1rpyl4=
github.com/stbenjam/no-sprintf-host-port v0.2.0/go.mod h1:eL0bQ9PasS0hsyTyfTjjG+E80QIyPnBVQbYZyv20Jfk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tdakkota/asciicheck v0.4.1 h1:bm0tbcmi0jezRA2b5kg4ozmMuGAFotKI3RZfrhfovg8=
github.com/tdakkota/asciicheck v0.4.1/go.mod h1:0k7M3rCfRXb0Z6bwgvkEIMleKH3kXNz9UqJ9Xuqopr8=
github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.5.0 h1:aNwfVI4I3+gdxjMgYPus9eHmoBeJIbnajOyqZYStzuw=
github.com/tetafro/godot v1.5.0/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67/go.mod h1:mkjARE7Yr8qU23YcGMSALbIxTQ9r9QBVahQOBRfU460=
github.com/timonwong/loggercheck v0.10.1 h1:uVZYClxQFpw55eh+PIoqM7uAOHMrhVcDoWDery9R8Lg=
github.com/timonwong/loggercheck v0.10.1/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8=
github.com/tomarrell/wrapcheck/v2 v2.10.0 h1:SzRCryzy4IrAH7bVGG4cK40tNUhmVmMDuJujy4XwYDg=
github.com/tomarrell/wrapcheck/v2 v2.10.0/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
github.com/ultraware/funlen v0.2.0 h1:gCHmCn+d2/1SemTdYMiKLAHFYxTYz7z9VIDRaTGyLkI=
github.com/ultraware/funlen v0.2.0/go.mod h1:ZE0q4TsJ8T1SQcjmkhN/w+MceuatI6pBFSxxyteHIJA=
github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSWoFa+g=
github.com/ultraware/whitespace v0.2.0/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
github.com/uudashr/gocognit v1.2.0 h1:3BU9aMr1xbhPlvJLSydKwdLN3tEUUrzPSSM8S4hDYRA=
github.com/uudashr/gocognit v1.2.0/go.mod h1:k/DdKPI6XBZO1q7HgoV2juESI2/Ofj9AcHPZhBBdrTU=
github.com/uudashr/iface v1.3.1 h1:bA51vmVx1UIhiIsQFSNq6GZ6VPTk3WNMZgRiCe9R29U=
github.com/uudashr/iface v1.3.1/go.mod h1:4QvspiRd3JLPAEXBQ9AiZpLbJlrWWgRChOKDJEuQTdg=
github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM=
github.com/xen0n/gosmopolitan v1.3.0/go.mod h1:rckfr5T6o4lBtM1ga7mLGKZmLxswUoH1zxHgNXOsEt4=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
go-simpler.org/musttag v0.13.0 h1:Q/YAW0AHvaoaIbsPj3bvEI5/QFP7w696IMUpnKXQfCE=
go-simpler.org/musttag v0.13.0/go.mod h1:FTzIGeK6OkKlUDVpj0iQUXZLUO1Js9+mvykDQy9C5yM=
go-simpler.org/sloglint v0.9.0 h1:/40NQtjRx9txvsB/RN022KsUJU+zaaSb/9q9BSefSrE=
go-simpler.org/sloglint v0.9.0/go.mod h1:G/OrAF6uxj48sHahCzrbarVMptL2kjWTaUeC8+fOGww=
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
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-20250210185358-939b2ce775ac h1:TSSpLIG4v+p0rPv1pNOQtl1I8knsO4S9trOxNMOLVP4=
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.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.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.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.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.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.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
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-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.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.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 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.6.1 h1:R094WgE8K4JirYjBaOpz/AvTyUu/3wbmAoskKN/pxTI=
honnef.co/go/tools v0.6.1/go.mod h1:3puzxxljPCe8RGJX7BIy1plGbxEOZni5mR2aXe3/uk4=
mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 h1:WjUu4yQoT5BHT1w8Zu56SP8367OuBV5jvo+4Ulppyf8=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4/go.mod h1:rthT7OuvRbaGcd5ginj6dA2oLE7YNlta9qhBNNdCaLE=
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
set -euo pipefail
TOOLS_BASE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TOOLS_SRC_DIR="$TOOLS_BASE_DIR/src"
IMPORT_PATH_WITH_VERSION="$1"
if [[ "$IMPORT_PATH_WITH_VERSION" != *"@"* ]]; then
echo "Error: tool version must be specified (e.g., github.com/foo/bar@v1.2.3)"
exit 1
fi
TOOL_PATH="${IMPORT_PATH_WITH_VERSION%@*}"
TOOL_NAME="${TOOL_PATH##*/}"
TOOL_DIR="$TOOLS_SRC_DIR/$TOOL_NAME"
MOD_FILE="$TOOL_DIR/go.mod"
mkdir -p "$TOOL_DIR"
cd "$TOOL_DIR"
# Create a new module if go.mod doesn't exist
if [ ! -f go.mod ]; then
go mod init "$TOOL_NAME"
fi
go get -tool --modfile="$MOD_FILE" "$IMPORT_PATH_WITH_VERSION"
echo "Installed $TOOL_NAME"
echo " Directory: $TOOL_DIR"
echo " Modfile: $MOD_FILE"
exec "$TOOLS_BASE_DIR/generate.sh"
-53
View File
@@ -1,53 +0,0 @@
module lefthook
go 1.24.5
tool github.com/evilmartians/lefthook
require (
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/creack/pty v1.1.18 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/evilmartians/lefthook v1.4.8 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-108
View File
@@ -1,108 +0,0 @@
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+27
View File
@@ -0,0 +1,27 @@
module air
go 1.24.4
tool github.com/air-verse/air
require (
dario.cat/mergo v1.0.2 // indirect
github.com/air-verse/air v1.62.0 // indirect
github.com/bep/godartsass/v2 v2.5.0 // indirect
github.com/bep/golibsass v1.2.0 // indirect
github.com/creack/pty v1.1.24 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.9.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gohugoio/hugo v0.147.6 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/spf13/afero v1.14.0 // indirect
github.com/spf13/cast v1.8.0 // indirect
github.com/tdewolff/parse/v2 v2.8.1 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
)
+45
View File
@@ -0,0 +1,45 @@
dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8=
dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA=
github.com/air-verse/air v1.62.0 h1:6CoXL4MAX9dc4xAzLfjMcDfbBoGmW5VjuuTV/1+bI+M=
github.com/air-verse/air v1.62.0/go.mod h1:EO+jWuetL10tS9raffwg8WEV0t0KUeucRRaf9ii86dA=
github.com/bep/godartsass/v2 v2.5.0 h1:tKRvwVdyjCIr48qgtLa4gHEdtRkPF8H1OeEhJAEv7xg=
github.com/bep/godartsass/v2 v2.5.0/go.mod h1:rjsi1YSXAl/UbsGL85RLDEjRKdIKUlMQHr6ChUNYOFU=
github.com/bep/golibsass v1.2.0 h1:nyZUkKP/0psr8nT6GR2cnmt99xS93Ji82ZD9AgOK6VI=
github.com/bep/golibsass v1.2.0/go.mod h1:DL87K8Un/+pWUS75ggYv41bliGiolxzDKWJAq3eJ1MA=
github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s=
github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.7.2/go.mod h1:jaStnuzAqU1AJdCO0l53JDCJrVDKcS03DbaAcR7Ks/o=
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gohugoio/hugo v0.147.6 h1:rL4rnus/5qzj4+FoA+JMzsVvFJ2YZdVIH6pbuCB2P84=
github.com/gohugoio/hugo v0.147.6/go.mod h1:Sb2COQPDPYG+tRSpePtzKytiuVDqkBivEhgIew1QbNo=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
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/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA=
github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo=
github.com/spf13/cast v1.8.0 h1:gEN9K4b8Xws4EX0+a0reLmhq8moKn7ntRlQYgjPeCDk=
github.com/spf13/cast v1.8.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/tdewolff/parse/v2 v2.8.1 h1:J5GSHru6o3jF1uLlEKVXkDxxcVx6yzOlIVIotK4w2po=
github.com/tdewolff/parse/v2 v2.8.1/go.mod h1:Hwlni2tiVNKyzR1o6nUs4FOF07URA+JLBLd6dlIXYqo=
github.com/tdewolff/test v1.0.11/go.mod h1:XPuWBzvdUzhCuxWO1ojpXsyzsA5bFoS3tO/Q3kFuTG8=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
+50
View File
@@ -0,0 +1,50 @@
module cog
go 1.24.5
tool github.com/grafana/cog/cmd/cli
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/expr-lang/expr v1.17.0 // indirect
github.com/getkin/kin-openapi v0.132.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d // indirect
github.com/grafana/cog v0.0.34 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/ugorji/go/codec v1.2.11 // indirect
github.com/yalue/merged_fs v1.3.0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
+106
View File
@@ -0,0 +1,106 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg=
github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/getkin/kin-openapi v0.132.0 h1:3ISeLMsQzcb5v26yeJrBcdTCEQTag36ZjaGk7MIRUwk=
github.com/getkin/kin-openapi v0.132.0/go.mod h1:3OlG51PCYNsPByuiMB0t4fjnNlIDnaEDsjiKUV8nL58=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM=
github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d h1:hrXbGJ5jgp6yNITzs5o+zXq0V5yT3siNJ+uM8LGwWKk=
github.com/grafana/codejen v0.0.4-0.20230321061741-77f656893a3d/go.mod h1:zmwwM/DRyQB7pfuBjTWII3CWtxcXh8LTwAYGfDfpR6s=
github.com/grafana/cog v0.0.34 h1:tXtjIB0A0Y6jeZ5iAQBJIAz5vkAJsV0iEFfX94PH/+Q=
github.com/grafana/cog v0.0.34/go.mod h1:UDstzYqMdgIROmbfkHL8fB9XWQO2lnf5z+4W/eJo4Dc=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 h1:RWengNIwukTxcDr9M+97sNutRR1RKhG96O6jWumTTnw=
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY=
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c=
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90/go.mod h1:y5+oSEHCPT/DGrS++Wc/479ERge0zTFxaF8PbGKcg2o=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s=
github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 h1:lZUw3E0/J3roVtGQ+SCrUrg3ON6NgVqpn3+iol9aGu4=
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/yalue/merged_fs v1.3.0 h1:qCeh9tMPNy/i8cwDsQTJ5bLr6IRxbs6meakNE5O+wyY=
github.com/yalue/merged_fs v1.3.0/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+37
View File
@@ -0,0 +1,37 @@
module cue
go 1.24.5
tool cuelang.org/go/cmd/cue
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/tetratelabs/wazero v1.6.0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/net v0.40.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
+74
View File
@@ -0,0 +1,74 @@
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 h1:R5wwEcbEZSBmeyg91MJZTxfd7WpBo2jPof3AYjRbxwY=
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg=
cuelang.org/go v0.11.1 h1:pV+49MX1mmvDm8Qh3Za3M786cty8VKPWzQ1Ho4gZRP0=
cuelang.org/go v0.11.1/go.mod h1:PBY6XvPUswPPJ2inpvUozP9mebDVTXaeehQikhZPBz0=
github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/emicklei/proto v1.13.2 h1:z/etSFO3uyXeuEsVPzfl56WNgzcvIr42aQazXaQmFZY=
github.com/emicklei/proto v1.13.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d h1:HWfigq7lB31IeJL8iy7jkUmU/PG1Sr8jVGhS749dbUA=
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g=
github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI=
golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+201
View File
@@ -0,0 +1,201 @@
module golangci-lint
go 1.24.5
tool github.com/golangci/golangci-lint/v2/cmd/golangci-lint
require (
4d63.com/gocheckcompilerdirectives v1.3.0 // indirect
4d63.com/gochecknoglobals v0.2.2 // indirect
github.com/4meepo/tagalign v1.4.2 // indirect
github.com/Abirdcfly/dupword v0.1.3 // indirect
github.com/Antonboom/errname v1.1.0 // indirect
github.com/Antonboom/nilnil v1.1.0 // indirect
github.com/Antonboom/testifylint v1.6.0 // indirect
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/Crocmagnon/fatcontext v0.7.1 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 // indirect
github.com/alecthomas/go-check-sumtype v0.3.1 // indirect
github.com/alexkohler/nakedret/v2 v2.0.5 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/alingse/nilnesserr v0.1.2 // indirect
github.com/ashanbrown/forbidigo v1.6.0 // indirect
github.com/ashanbrown/makezero v1.2.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bkielbasa/cyclop v1.2.3 // indirect
github.com/blizzy78/varnamelen v0.8.0 // indirect
github.com/bombsimon/wsl/v4 v4.6.0 // indirect
github.com/breml/bidichk v0.3.3 // indirect
github.com/breml/errchkjson v0.4.1 // indirect
github.com/butuzov/ireturn v0.3.1 // indirect
github.com/butuzov/mirror v1.3.0 // indirect
github.com/catenacyber/perfsprint v0.9.1 // indirect
github.com/ccojocar/zxcvbn-go v1.0.2 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/charithe/durationcheck v0.0.10 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/chavacava/garif v0.1.0 // indirect
github.com/ckaznocha/intrange v0.3.1 // indirect
github.com/curioswitch/go-reassign v0.3.0 // indirect
github.com/daixiang0/gci v0.13.6 // indirect
github.com/dave/dst v0.27.3 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/denis-tingaikin/go-header v0.5.0 // indirect
github.com/ettle/strcase v0.2.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.5 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/ghostiam/protogetter v0.3.12 // indirect
github.com/go-critic/go-critic v0.13.0 // indirect
github.com/go-toolsmith/astcast v1.1.0 // indirect
github.com/go-toolsmith/astcopy v1.1.0 // indirect
github.com/go-toolsmith/astequal v1.2.0 // indirect
github.com/go-toolsmith/astfmt v1.1.0 // indirect
github.com/go-toolsmith/astp v1.1.0 // indirect
github.com/go-toolsmith/strparse v1.1.0 // indirect
github.com/go-toolsmith/typep v1.1.0 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/go-xmlfmt/xmlfmt v1.1.3 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 // indirect
github.com/golangci/go-printf-func-name v0.1.0 // indirect
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d // indirect
github.com/golangci/golangci-lint/v2 v2.0.2 // indirect
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 // indirect
github.com/golangci/misspell v0.6.0 // indirect
github.com/golangci/plugin-module-register v0.1.1 // indirect
github.com/golangci/revgrep v0.8.0 // indirect
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e // indirect
github.com/gordonklaus/ineffassign v0.1.0 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.5.0 // indirect
github.com/gostaticanalysis/forcetypeassert v0.2.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 // indirect
github.com/hashicorp/go-version v1.7.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.7.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.4 // indirect
github.com/julz/importas v0.2.0 // indirect
github.com/karamaru-alpha/copyloopvar v1.2.1 // indirect
github.com/kisielk/errcheck v1.9.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/kulti/thelper v0.6.3 // indirect
github.com/kunwardeep/paralleltest v1.0.10 // indirect
github.com/lasiar/canonicalheader v1.1.2 // indirect
github.com/ldez/exptostd v0.4.2 // indirect
github.com/ldez/gomoddirectives v0.6.1 // indirect
github.com/ldez/grignotin v0.9.0 // indirect
github.com/ldez/tagliatelle v0.7.1 // indirect
github.com/ldez/usetesting v0.4.2 // indirect
github.com/leonklingele/grouper v1.1.2 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/macabu/inamedparam v0.2.0 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox v1.1.0 // indirect
github.com/matryer/is v1.4.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mgechev/revive v1.7.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/moricho/tparallel v0.3.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nishanths/exhaustive v0.12.0 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.19.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/polyfloyd/go-errorlint v1.7.1 // indirect
github.com/prometheus/client_golang v1.22.0 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.63.0 // indirect
github.com/prometheus/procfs v0.16.0 // indirect
github.com/quasilyte/go-ruleguard v0.4.4 // indirect
github.com/quasilyte/go-ruleguard/dsl v0.3.22 // indirect
github.com/quasilyte/gogrep v0.5.0 // indirect
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/raeperd/recvcheck v0.2.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/ryancurrah/gomodguard v1.4.1 // indirect
github.com/ryanrolds/sqlclosecheck v0.5.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.1.0 // indirect
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect
github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.28.0 // indirect
github.com/securego/gosec/v2 v2.22.2 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/sivchari/containedctx v1.0.3 // indirect
github.com/sonatard/noctx v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.2.0 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/tdakkota/asciicheck v0.4.1 // indirect
github.com/tetafro/godot v1.5.0 // indirect
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 // indirect
github.com/timonwong/loggercheck v0.10.1 // indirect
github.com/tomarrell/wrapcheck/v2 v2.10.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.2.0 // indirect
github.com/ultraware/whitespace v0.2.0 // indirect
github.com/uudashr/gocognit v1.2.0 // indirect
github.com/uudashr/iface v1.3.1 // indirect
github.com/xen0n/gosmopolitan v1.3.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.3.0 // indirect
github.com/ykadowak/zerologlint v0.1.5 // indirect
gitlab.com/bosi/decorder v0.4.2 // indirect
go-simpler.org/musttag v0.13.0 // indirect
go-simpler.org/sloglint v0.9.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.6.1 // indirect
mvdan.cc/gofumpt v0.7.0 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)
+587
View File
@@ -0,0 +1,587 @@
4d63.com/gocheckcompilerdirectives v1.3.0 h1:Ew5y5CtcAAQeTVKUVFrE7EwHMrTO6BggtEj8BZSjZ3A=
4d63.com/gocheckcompilerdirectives v1.3.0/go.mod h1:ofsJ4zx2QAuIP/NO/NAh1ig6R1Fb18/GI7RVMwz7kAY=
4d63.com/gochecknoglobals v0.2.2 h1:H1vdnwnMaZdQW/N+NrkT1SZMTBmcwHe9Vq8lJcYYTtU=
4d63.com/gochecknoglobals v0.2.2/go.mod h1:lLxwTQjL5eIesRbvnzIP3jZtG140FnTdz+AlMa+ogt0=
github.com/4meepo/tagalign v1.4.2 h1:0hcLHPGMjDyM1gHG58cS73aQF8J4TdVR96TZViorO9E=
github.com/4meepo/tagalign v1.4.2/go.mod h1:+p4aMyFM+ra7nb41CnFG6aSDXqRxU/w1VQqScKqDARI=
github.com/Abirdcfly/dupword v0.1.3 h1:9Pa1NuAsZvpFPi9Pqkd93I7LIYRURj+A//dFd5tgBeE=
github.com/Abirdcfly/dupword v0.1.3/go.mod h1:8VbB2t7e10KRNdwTVoxdBaxla6avbhGzb8sCTygUMhw=
github.com/Antonboom/errname v1.1.0 h1:A+ucvdpMwlo/myWrkHEUEBWc/xuXdud23S8tmTb/oAE=
github.com/Antonboom/errname v1.1.0/go.mod h1:O1NMrzgUcVBGIfi3xlVuvX8Q/VP/73sseCaAppfjqZw=
github.com/Antonboom/nilnil v1.1.0 h1:jGxJxjgYS3VUUtOTNk8Z1icwT5ESpLH/426fjmQG+ng=
github.com/Antonboom/nilnil v1.1.0/go.mod h1:b7sAlogQjFa1wV8jUW3o4PMzDVFLbTux+xnQdvzdcIE=
github.com/Antonboom/testifylint v1.6.0 h1:6rdILVPt4+rqcvhid8w9wJNynKLUgqHNpFyM67UeXyc=
github.com/Antonboom/testifylint v1.6.0/go.mod h1:k+nEkathI2NFjKO6HvwmSrbzUcQ6FAnbZV+ZRrnXPLI=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/Crocmagnon/fatcontext v0.7.1 h1:SC/VIbRRZQeQWj/TcQBS6JmrXcfA+BU4OGSVUt54PjM=
github.com/Crocmagnon/fatcontext v0.7.1/go.mod h1:1wMvv3NXEBJucFGfwOJBxSVWcoIO6emV215SMkW9MFU=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1 h1:Sz1JIXEcSfhz7fUi7xHnhpIE0thVASYjvosApmHuD2k=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.1/go.mod h1:n/LSCXNuIYqVfBlVXyHfMQkZDdp1/mmxfSjADd3z1Zg=
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1 h1:vckeWVESWp6Qog7UZSARNqfu/cZqvki8zsuj3piCMx4=
github.com/OpenPeeDeeP/depguard/v2 v2.2.1/go.mod h1:q4DKzC4UcVaAvcfd41CZh0PWpGgzrVxUYBlgKNGquUo=
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/go-check-sumtype v0.3.1 h1:u9aUvbGINJxLVXiFvHUlPEaD7VDULsrxJb4Aq31NLkU=
github.com/alecthomas/go-check-sumtype v0.3.1/go.mod h1:A8TSiN3UPRw3laIgWEUOHHLPa6/r9MtoigdlP5h3K/E=
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/alexkohler/nakedret/v2 v2.0.5 h1:fP5qLgtwbx9EJE8dGEERT02YwS8En4r9nnZ71RK+EVU=
github.com/alexkohler/nakedret/v2 v2.0.5/go.mod h1:bF5i0zF2Wo2o4X4USt9ntUWve6JbFv02Ff4vlkmS/VU=
github.com/alexkohler/prealloc v1.0.0 h1:Hbq0/3fJPQhNkN0dR95AVrr6R7tou91y0uHG5pOcUuw=
github.com/alexkohler/prealloc v1.0.0/go.mod h1:VetnK3dIgFBBKmg0YnD9F9x6Icjd+9cvfHR56wJVlKE=
github.com/alingse/asasalint v0.0.11 h1:SFwnQXJ49Kx/1GghOFz1XGqHYKp21Kq1nHad/0WQRnw=
github.com/alingse/asasalint v0.0.11/go.mod h1:nCaoMhw7a9kSJObvQyVzNTPBDbNpdocqrSP7t/cW5+I=
github.com/alingse/nilnesserr v0.1.2 h1:Yf8Iwm3z2hUUrP4muWfW83DF4nE3r1xZ26fGWUKCZlo=
github.com/alingse/nilnesserr v0.1.2/go.mod h1:1xJPrXonEtX7wyTq8Dytns5P2hNzoWymVUIaKm4HNFg=
github.com/ashanbrown/forbidigo v1.6.0 h1:D3aewfM37Yb3pxHujIPSpTf6oQk9sc9WZi8gerOIVIY=
github.com/ashanbrown/forbidigo v1.6.0/go.mod h1:Y8j9jy9ZYAEHXdu723cUlraTqbzjKF1MUyfOKL+AjcU=
github.com/ashanbrown/makezero v1.2.0 h1:/2Lp1bypdmK9wDIq7uWBlDF1iMUpIIS4A+pF6C9IEUU=
github.com/ashanbrown/makezero v1.2.0/go.mod h1:dxlPhHbDMC6N6xICzFBSK+4njQDdK8euNO0qjQMtGY4=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/bkielbasa/cyclop v1.2.3 h1:faIVMIGDIANuGPWH031CZJTi2ymOQBULs9H21HSMa5w=
github.com/bkielbasa/cyclop v1.2.3/go.mod h1:kHTwA9Q0uZqOADdupvcFJQtp/ksSnytRMe8ztxG8Fuo=
github.com/blizzy78/varnamelen v0.8.0 h1:oqSblyuQvFsW1hbBHh1zfwrKe3kcSj0rnXkKzsQ089M=
github.com/blizzy78/varnamelen v0.8.0/go.mod h1:V9TzQZ4fLJ1DSrjVDfl89H7aMnTvKkApdHeyESmyR7k=
github.com/bombsimon/wsl/v4 v4.6.0 h1:ew2R/N42su553DKTYqt3HSxaQN+uHQPv4xZ2MBmwaW4=
github.com/bombsimon/wsl/v4 v4.6.0/go.mod h1:uV/+6BkffuzSAVYD+yGyld1AChO7/EuLrCF/8xTiapg=
github.com/breml/bidichk v0.3.3 h1:WSM67ztRusf1sMoqH6/c4OBCUlRVTKq+CbSeo0R17sE=
github.com/breml/bidichk v0.3.3/go.mod h1:ISbsut8OnjB367j5NseXEGGgO/th206dVa427kR8YTE=
github.com/breml/errchkjson v0.4.1 h1:keFSS8D7A2T0haP9kzZTi7o26r7kE3vymjZNeNDRDwg=
github.com/breml/errchkjson v0.4.1/go.mod h1:a23OvR6Qvcl7DG/Z4o0el6BRAjKnaReoPQFciAl9U3s=
github.com/butuzov/ireturn v0.3.1 h1:mFgbEI6m+9W8oP/oDdfA34dLisRFCj2G6o/yiI1yZrY=
github.com/butuzov/ireturn v0.3.1/go.mod h1:ZfRp+E7eJLC0NQmk1Nrm1LOrn/gQlOykv+cVPdiXH5M=
github.com/butuzov/mirror v1.3.0 h1:HdWCXzmwlQHdVhwvsfBb2Au0r3HyINry3bDWLYXiKoc=
github.com/butuzov/mirror v1.3.0/go.mod h1:AEij0Z8YMALaq4yQj9CPPVYOyJQyiexpQEQgihajRfI=
github.com/catenacyber/perfsprint v0.9.1 h1:5LlTp4RwTooQjJCvGEFV6XksZvWE7wCOUvjD2z0vls0=
github.com/catenacyber/perfsprint v0.9.1/go.mod h1:q//VWC2fWbcdSLEY1R3l8n0zQCDPdE4IjZwyY1HMunM=
github.com/ccojocar/zxcvbn-go v1.0.2 h1:na/czXU8RrhXO4EZme6eQJLR4PzcGsahsBOAwU6I3Vg=
github.com/ccojocar/zxcvbn-go v1.0.2/go.mod h1:g1qkXtUSvHP8lhHp5GrSmTz6uWALGRMQdw6Qnz/hi60=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/charithe/durationcheck v0.0.10 h1:wgw73BiocdBDQPik+zcEoBG/ob8uyBHf2iyoHGPf5w4=
github.com/charithe/durationcheck v0.0.10/go.mod h1:bCWXb7gYRysD1CU3C+u4ceO49LoGOY1C1L6uouGNreQ=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/chavacava/garif v0.1.0 h1:2JHa3hbYf5D9dsgseMKAmc/MZ109otzgNFk5s87H9Pc=
github.com/chavacava/garif v0.1.0/go.mod h1:XMyYCkEL58DF0oyW4qDjjnPWONs2HBqYKI+UIPD+Gww=
github.com/ckaznocha/intrange v0.3.1 h1:j1onQyXvHUsPWujDH6WIjhyH26gkRt/txNlV7LspvJs=
github.com/ckaznocha/intrange v0.3.1/go.mod h1:QVepyz1AkUoFQkpEqksSYpNpUo3c5W7nWh/s6SHIJJk=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/curioswitch/go-reassign v0.3.0 h1:dh3kpQHuADL3cobV/sSGETA8DOv457dwl+fbBAhrQPs=
github.com/curioswitch/go-reassign v0.3.0/go.mod h1:nApPCCTtqLJN/s8HfItCcKV0jIPwluBOvZP+dsJGA88=
github.com/daixiang0/gci v0.13.6 h1:RKuEOSkGpSadkGbvZ6hJ4ddItT3cVZ9Vn9Rybk6xjl8=
github.com/daixiang0/gci v0.13.6/go.mod h1:12etP2OniiIdP4q+kjUGrC/rUagga7ODbqsom5Eo5Yk=
github.com/dave/dst v0.27.3 h1:P1HPoMza3cMEquVf9kKy8yXsFirry4zEnWOdYPOoIzY=
github.com/dave/dst v0.27.3/go.mod h1:jHh6EOibnHgcUW3WjKHisiooEkYwqpHLBSX1iOBhEyc=
github.com/dave/jennifer v1.7.1 h1:B4jJJDHelWcDhlRQxWeo0Npa/pYKBLrirAQoTN45txo=
github.com/dave/jennifer v1.7.1/go.mod h1:nXbxhEmQfOZhWml3D1cDK5M1FLnMSozpbFN/m3RmGZc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denis-tingaikin/go-header v0.5.0 h1:SRdnP5ZKvcO9KKRP1KJrhFR3RrlGuD+42t4429eC9k8=
github.com/denis-tingaikin/go-header v0.5.0/go.mod h1:mMenU5bWrok6Wl2UsZjy+1okegmwQ3UgWl4V1D8gjlY=
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/ettle/strcase v0.2.0 h1:fGNiVF21fHXpX1niBgk0aROov1LagYsOwV/xqKDKR/Q=
github.com/ettle/strcase v0.2.0/go.mod h1:DajmHElDSaX76ITe3/VHVyMin4LWSJN5Z909Wp+ED1A=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
github.com/firefart/nonamedreturns v1.0.5 h1:tM+Me2ZaXs8tfdDw3X6DOX++wMCOqzYUho6tUTYIdRA=
github.com/firefart/nonamedreturns v1.0.5/go.mod h1:gHJjDqhGM4WyPt639SOZs+G89Ko7QKH5R5BhnO6xJhw=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo=
github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA=
github.com/ghostiam/protogetter v0.3.12 h1:xTPjH97iKph27vXRRKV0OCke5sAMoHPbVeVstdzmCLE=
github.com/ghostiam/protogetter v0.3.12/go.mod h1:WZ0nw9pfzsgxuRsPOFQomgDVSWtDLJRfQJEhsGbmQMA=
github.com/go-critic/go-critic v0.13.0 h1:kJzM7wzltQasSUXtYyTl6UaPVySO6GkaR1thFnJ6afY=
github.com/go-critic/go-critic v0.13.0/go.mod h1:M/YeuJ3vOCQDnP2SU+ZhjgRzwzcBW87JqLpMJLrZDLI=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/go-toolsmith/astcast v1.1.0 h1:+JN9xZV1A+Re+95pgnMgDboWNVnIMMQXwfBwLRPgSC8=
github.com/go-toolsmith/astcast v1.1.0/go.mod h1:qdcuFWeGGS2xX5bLM/c3U9lewg7+Zu4mr+xPwZIB4ZU=
github.com/go-toolsmith/astcopy v1.1.0 h1:YGwBN0WM+ekI/6SS6+52zLDEf8Yvp3n2seZITCUBt5s=
github.com/go-toolsmith/astcopy v1.1.0/go.mod h1:hXM6gan18VA1T/daUEHCFcYiW8Ai1tIwIzHY6srfEAw=
github.com/go-toolsmith/astequal v1.0.3/go.mod h1:9Ai4UglvtR+4up+bAD4+hCj7iTo4m/OXVTSLnCyTAx4=
github.com/go-toolsmith/astequal v1.1.0/go.mod h1:sedf7VIdCL22LD8qIvv7Nn9MuWJruQA/ysswh64lffQ=
github.com/go-toolsmith/astequal v1.2.0 h1:3Fs3CYZ1k9Vo4FzFhwwewC3CHISHDnVUPC4x0bI2+Cw=
github.com/go-toolsmith/astequal v1.2.0/go.mod h1:c8NZ3+kSFtFY/8lPso4v8LuJjdJiUFVnSuU3s0qrrDY=
github.com/go-toolsmith/astfmt v1.1.0 h1:iJVPDPp6/7AaeLJEruMsBUlOYCmvg0MoCfJprsOmcco=
github.com/go-toolsmith/astfmt v1.1.0/go.mod h1:OrcLlRwu0CuiIBp/8b5PYF9ktGVZUjlNMV634mhwuQ4=
github.com/go-toolsmith/astp v1.1.0 h1:dXPuCl6u2llURjdPLLDxJeZInAeZ0/eZwFJmqZMnpQA=
github.com/go-toolsmith/astp v1.1.0/go.mod h1:0T1xFGz9hicKs8Z5MfAqSUitoUYS30pDMsRVIDHs8CA=
github.com/go-toolsmith/pkgload v1.2.2 h1:0CtmHq/02QhxcF7E9N5LIFcYFsMR5rdovfqTtRKkgIk=
github.com/go-toolsmith/pkgload v1.2.2/go.mod h1:R2hxLNRKuAsiXCo2i5J6ZQPhnPMOVtU+f0arbFPWCus=
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
github.com/go-toolsmith/strparse v1.1.0 h1:GAioeZUK9TGxnLS+qfdqNbA4z0SSm5zVNtCQiyP2Bvw=
github.com/go-toolsmith/strparse v1.1.0/go.mod h1:7ksGy58fsaQkGQlY8WVoBFNyEPMGuJin1rfoPS4lBSQ=
github.com/go-toolsmith/typep v1.1.0 h1:fIRYDyF+JywLfqzyhdiHzRop/GQDxxNhLGQ6gFUNHus=
github.com/go-toolsmith/typep v1.1.0/go.mod h1:fVIw+7zjdsMxDA3ITWnH1yOiw1rnTQKCsF/sk2H/qig=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/go-xmlfmt/xmlfmt v1.1.3 h1:t8Ey3Uy7jDSEisW2K3somuMKIpzktkWptA0iFCnRUWY=
github.com/go-xmlfmt/xmlfmt v1.1.3/go.mod h1:aUCEOzzezBEjDBbFBoSiya/gduyIiWYRP6CnSFIV8AM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32 h1:WUvBfQL6EW/40l6OmeSBYQJNSif4O11+bmWEz+C7FYw=
github.com/golangci/dupl v0.0.0-20250308024227-f665c8d69b32/go.mod h1:NUw9Zr2Sy7+HxzdjIULge71wI6yEg1lWQr7Evcu8K0E=
github.com/golangci/go-printf-func-name v0.1.0 h1:dVokQP+NMTO7jwO4bwsRwLWeudOVUPPyAKJuzv8pEJU=
github.com/golangci/go-printf-func-name v0.1.0/go.mod h1:wqhWFH5mUdJQhweRnldEywnR5021wTdZSNgwYceV14s=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d h1:viFft9sS/dxoYY0aiOTsLKO2aZQAPT4nlQCsimGcSGE=
github.com/golangci/gofmt v0.0.0-20250106114630-d62b90e6713d/go.mod h1:ivJ9QDg0XucIkmwhzCDsqcnxxlDStoTl89jDMIoNxKY=
github.com/golangci/golangci-lint/v2 v2.0.2 h1:dMCC8ikPiLDvHMFy3+XypSAuGDBOLzwWqqamer+bWsY=
github.com/golangci/golangci-lint/v2 v2.0.2/go.mod h1:ptNNMeGBQrbves0Qq38xvfdJg18PzxmT+7KRCOpm6i8=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95 h1:AkK+w9FZBXlU/xUmBtSJN1+tAI4FIvy5WtnUnY8e4p8=
github.com/golangci/golines v0.0.0-20250217134842-442fd0091d95/go.mod h1:k9mmcyWKSTMcPPvQUCfRWWQ9VHJ1U9Dc0R7kaXAgtnQ=
github.com/golangci/misspell v0.6.0 h1:JCle2HUTNWirNlDIAUO44hUsKhOFqGPoC4LZxlaSXDs=
github.com/golangci/misspell v0.6.0/go.mod h1:keMNyY6R9isGaSAu+4Q8NMBwMPkh15Gtc8UCVoDtAWo=
github.com/golangci/plugin-module-register v0.1.1 h1:TCmesur25LnyJkpsVrupv1Cdzo+2f7zX0H6Jkw1Ol6c=
github.com/golangci/plugin-module-register v0.1.1/go.mod h1:TTpqoB6KkwOJMV8u7+NyXMrkwwESJLOkfl9TxR1DGFc=
github.com/golangci/revgrep v0.8.0 h1:EZBctwbVd0aMeRnNUsFogoyayvKHyxlV3CdUA46FX2s=
github.com/golangci/revgrep v0.8.0/go.mod h1:U4R/s9dlXZsg8uJmaR1GrloUr14D7qDl8gi2iPXJH8k=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed h1:IURFTjxeTfNFP0hTEi1YKjB/ub8zkpaOqFFMApi2EAs=
github.com/golangci/unconvert v0.0.0-20240309020433-c5143eacb3ed/go.mod h1:XLXN8bNw4CGRPaqgl3bv/lhz7bsGPh4/xSaMTbo2vkQ=
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e h1:ijClszYn+mADRFY17kjQEVQ1XRhq2/JR1M3sGqeJoxs=
github.com/google/pprof v0.0.0-20250317173921-a4b03ec1a45e/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
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/go.mod h1:KLUTGDv6HOCotCH8h2erHKmpci2ZoR8VPu34YA2uzdM=
github.com/gostaticanalysis/comment v1.5.0 h1:X82FLl+TswsUMpMh17srGRuKaaXprTaytmEpgnKIDu8=
github.com/gostaticanalysis/comment v1.5.0/go.mod h1:V6eb3gpCv9GNVqb6amXzEUX3jXLVK/AdA+IrAMSqvEc=
github.com/gostaticanalysis/forcetypeassert v0.2.0 h1:uSnWrrUEYDr86OCxWa4/Tp2jeYDlogZiZHzGkWFefTk=
github.com/gostaticanalysis/forcetypeassert v0.2.0/go.mod h1:M5iPavzE9pPqWyeiVXSFghQjljW1+l/Uke3PXHS6ILY=
github.com/gostaticanalysis/nilerr v0.1.1 h1:ThE+hJP0fEp4zWLkWHWcRyI2Od0p7DlgYG3Uqrmrcpk=
github.com/gostaticanalysis/nilerr v0.1.1/go.mod h1:wZYb6YI5YAxxq0i1+VJbY0s2YONW0HU0GPE3+5PWN4A=
github.com/gostaticanalysis/testutil v0.3.1-0.20210208050101-bfb5c8eec0e4/go.mod h1:D+FIZ+7OahH3ePw/izIEeH5I06eKs1IKI4Xr64/Am3M=
github.com/gostaticanalysis/testutil v0.5.0 h1:Dq4wT1DdTwTGCQQv3rl3IvD5Ld0E6HiY+3Zh0sUGqw8=
github.com/gostaticanalysis/testutil v0.5.0/go.mod h1:OLQSbuM6zw2EvCcXTz1lVq5unyoNft372msDY0nY5Hs=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0 h1:CUW5RYIcysz+D3B+l1mDeXrQ7fUvGGCwJfdASSzbrfo=
github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw=
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY=
github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jjti/go-spancheck v0.6.4 h1:Tl7gQpYf4/TMU7AT84MN83/6PutY21Nb9fuQjFTpRRc=
github.com/jjti/go-spancheck v0.6.4/go.mod h1:yAEYdKJ2lRkDA8g7X+oKUHXOWVAXSBJRv04OhF+QUjk=
github.com/julz/importas v0.2.0 h1:y+MJN/UdL63QbFJHws9BVC5RpA2iq0kpjrFajTGivjQ=
github.com/julz/importas v0.2.0/go.mod h1:pThlt589EnCYtMnmhmRYY/qn9lCf/frPOK+WMx3xiJY=
github.com/karamaru-alpha/copyloopvar v1.2.1 h1:wmZaZYIjnJ0b5UoKDjUHrikcV0zuPyyxI4SVplLd2CI=
github.com/karamaru-alpha/copyloopvar v1.2.1/go.mod h1:nFmMlFNlClC2BPvNaHMdkirmTJxVCY0lhxBtlfOypMM=
github.com/kisielk/errcheck v1.9.0 h1:9xt1zI9EBfcYBvdU1nVrzMzzUPUtPKs9bVSIM3TAb3M=
github.com/kisielk/errcheck v1.9.0/go.mod h1:kQxWMMVZgIkDq7U8xtG/n2juOjbLgZtedi0D+/VL/i8=
github.com/kkHAIKE/contextcheck v1.1.6 h1:7HIyRcnyzxL9Lz06NGhiKvenXq7Zw6Q0UQu/ttjfJCE=
github.com/kkHAIKE/contextcheck v1.1.6/go.mod h1:3dDbMRNBFaq8HFXWC1JyvDSPm43CmE6IuHam8Wr0rkg=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kulti/thelper v0.6.3 h1:ElhKf+AlItIu+xGnI990no4cE2+XaSu1ULymV2Yulxs=
github.com/kulti/thelper v0.6.3/go.mod h1:DsqKShOvP40epevkFrvIwkCMNYxMeTNjdWL4dqWHZ6I=
github.com/kunwardeep/paralleltest v1.0.10 h1:wrodoaKYzS2mdNVnc4/w31YaXFtsc21PCTdvWJ/lDDs=
github.com/kunwardeep/paralleltest v1.0.10/go.mod h1:2C7s65hONVqY7Q5Efj5aLzRCNLjw2h4eMc9EcypGjcY=
github.com/lasiar/canonicalheader v1.1.2 h1:vZ5uqwvDbyJCnMhmFYimgMZnJMjwljN5VGY0VKbMXb4=
github.com/lasiar/canonicalheader v1.1.2/go.mod h1:qJCeLFS0G/QlLQ506T+Fk/fWMa2VmBUiEI2cuMK4djI=
github.com/ldez/exptostd v0.4.2 h1:l5pOzHBz8mFOlbcifTxzfyYbgEmoUqjxLFHZkjlbHXs=
github.com/ldez/exptostd v0.4.2/go.mod h1:iZBRYaUmcW5jwCR3KROEZ1KivQQp6PHXbDPk9hqJKCQ=
github.com/ldez/gomoddirectives v0.6.1 h1:Z+PxGAY+217f/bSGjNZr/b2KTXcyYLgiWI6geMBN2Qc=
github.com/ldez/gomoddirectives v0.6.1/go.mod h1:cVBiu3AHR9V31em9u2kwfMKD43ayN5/XDgr+cdaFaKs=
github.com/ldez/grignotin v0.9.0 h1:MgOEmjZIVNn6p5wPaGp/0OKWyvq42KnzAt/DAb8O4Ow=
github.com/ldez/grignotin v0.9.0/go.mod h1:uaVTr0SoZ1KBii33c47O1M8Jp3OP3YDwhZCmzT9GHEk=
github.com/ldez/tagliatelle v0.7.1 h1:bTgKjjc2sQcsgPiT902+aadvMjCeMHrY7ly2XKFORIk=
github.com/ldez/tagliatelle v0.7.1/go.mod h1:3zjxUpsNB2aEZScWiZTHrAXOl1x25t3cRmzfK1mlo2I=
github.com/ldez/usetesting v0.4.2 h1:J2WwbrFGk3wx4cZwSMiCQQ00kjGR0+tuuyW0Lqm4lwA=
github.com/ldez/usetesting v0.4.2/go.mod h1:eEs46T3PpQ+9RgN9VjpY6qWdiw2/QmfiDeWmdZdrjIQ=
github.com/leonklingele/grouper v1.1.2 h1:o1ARBDLOmmasUaNDesWqWCIFH3u7hoFlM84YrjT3mIY=
github.com/leonklingele/grouper v1.1.2/go.mod h1:6D0M/HVkhs2yRKRFZUoGjeDy7EZTfFBE9gl4kjmIGkA=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/macabu/inamedparam v0.2.0 h1:VyPYpOc10nkhI2qeNUdh3Zket4fcZjEWe35poddBCpE=
github.com/macabu/inamedparam v0.2.0/go.mod h1:+Pee9/YfGe5LJ62pYXqB89lJ+0k5bsR8Wgz/C0Zlq3U=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04=
github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc=
github.com/matoous/godox v1.1.0 h1:W5mqwbyWrwZv6OQ5Z1a/DHGMOvXYCBP3+Ht7KMoJhq4=
github.com/matoous/godox v1.1.0/go.mod h1:jgE/3fUXiTurkdHOLT5WEkThTSuE7yxHv5iWPa80afs=
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mgechev/revive v1.7.0 h1:JyeQ4yO5K8aZhIKf5rec56u0376h8AlKNQEmjfkjKlY=
github.com/mgechev/revive v1.7.0/go.mod h1:qZnwcNhoguE58dfi96IJeSTPeZQejNeoMQLUZGi4SW4=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
github.com/nakabonne/nestif v0.3.1/go.mod h1:9EtoZochLn5iUprVDmDjqGKPofoUEBL8U4Ngq6aY7OE=
github.com/nishanths/exhaustive v0.12.0 h1:vIY9sALmw6T/yxiASewa4TQcFsVYZQQRUQJhKRf3Swg=
github.com/nishanths/exhaustive v0.12.0/go.mod h1:mEZ95wPIZW+x8kC4TgC+9YCUgiST7ecevsVDTgc2obs=
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk=
github.com/nishanths/predeclared v0.2.2/go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c=
github.com/nunnatsa/ginkgolinter v0.19.1 h1:mjwbOlDQxZi9Cal+KfbEJTCz327OLNfwNvoZ70NJ+c4=
github.com/nunnatsa/ginkgolinter v0.19.1/go.mod h1:jkQ3naZDmxaZMXPWaS9rblH+i+GWXQCaS/JFIWcOH2s=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU=
github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=
github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/polyfloyd/go-errorlint v1.7.1 h1:RyLVXIbosq1gBdk/pChWA8zWYLsq9UEw7a1L5TVMCnA=
github.com/polyfloyd/go-errorlint v1.7.1/go.mod h1:aXjNb1x2TNhoLsk26iv1yl7a+zTnXPhwEMtEXukiLR8=
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
github.com/prometheus/procfs v0.16.0 h1:xh6oHhKwnOJKMYiYBDWmkHqQPyiY40sny36Cmx2bbsM=
github.com/prometheus/procfs v0.16.0/go.mod h1:8veyXUu3nGP7oaCxhX6yeaM5u4stL2FeMXnCqhDthZg=
github.com/quasilyte/go-ruleguard v0.4.4 h1:53DncefIeLX3qEpjzlS1lyUmQoUEeOWPFWqaTJq9eAQ=
github.com/quasilyte/go-ruleguard v0.4.4/go.mod h1:Vl05zJ538vcEEwu16V/Hdu7IYZWyKSwIy4c88Ro1kRE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE=
github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU=
github.com/quasilyte/gogrep v0.5.0 h1:eTKODPXbI8ffJMN+W2aE0+oL0z/nh8/5eNdiO34SOAo=
github.com/quasilyte/gogrep v0.5.0/go.mod h1:Cm9lpz9NZjEoL1tgZ2OgeUKPIxL1meE7eo60Z6Sk+Ng=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl980XxGFEZSS6KlBGIV0diGdySzxATTWoqaU=
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs=
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ=
github.com/raeperd/recvcheck v0.2.0 h1:GnU+NsbiCqdC2XX5+vMZzP+jAJC5fht7rcVTAhX74UI=
github.com/raeperd/recvcheck v0.2.0/go.mod h1:n04eYkwIR0JbgD73wT8wL4JjPC3wm0nFtzBnWNocnYU=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryancurrah/gomodguard v1.4.1 h1:eWC8eUMNZ/wM/PWuZBv7JxxqT5fiIKSIyTvjb7Elr+g=
github.com/ryancurrah/gomodguard v1.4.1/go.mod h1:qnMJwV1hX9m+YJseXEBhd2s90+1Xn6x9dLz11ualI1I=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
github.com/ryanrolds/sqlclosecheck v0.5.1/go.mod h1:2g3dUjoS6AL4huFdv6wn55WpLIDjY7ZgUR4J8HOO/XQ=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sanposhiho/wastedassign/v2 v2.1.0 h1:crurBF7fJKIORrV85u9UUpePDYGWnwvv3+A96WvwXT0=
github.com/sanposhiho/wastedassign/v2 v2.1.0/go.mod h1:+oSmSC+9bQ+VUAxA66nBb0Z7N8CK7mscKTDYC6aIek4=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw=
github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ=
github.com/sashamelentyev/usestdlibvars v1.28.0 h1:jZnudE2zKCtYlGzLVreNp5pmCdOxXUzwsMDBkR21cyQ=
github.com/sashamelentyev/usestdlibvars v1.28.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.22.2 h1:IXbuI7cJninj0nRpZSLCUlotsj8jGusohfONMrHoF6g=
github.com/securego/gosec/v2 v2.22.2/go.mod h1:UEBGA+dSKb+VqM6TdehR7lnQtIIMorYJ4/9CW1KVQBE=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/sivchari/containedctx v1.0.3 h1:x+etemjbsh2fB5ewm5FeLNi5bUjK0V8n0RB+Wwfd0XE=
github.com/sivchari/containedctx v1.0.3/go.mod h1:c1RDvCbnJLtH4lLcYD/GqwiBSSf4F5Qk0xld2rBqzJ4=
github.com/sonatard/noctx v0.1.0 h1:JjqOc2WN16ISWAjAk8M5ej0RfExEXtkEyExl2hLW+OM=
github.com/sonatard/noctx v0.1.0/go.mod h1:0RvBxqY8D4j9cTTTWE8ylt2vqj2EPI8fHmrxHdsaZ2c=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0=
github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stbenjam/no-sprintf-host-port v0.2.0 h1:i8pxvGrt1+4G0czLr/WnmyH7zbZ8Bg8etvARQ1rpyl4=
github.com/stbenjam/no-sprintf-host-port v0.2.0/go.mod h1:eL0bQ9PasS0hsyTyfTjjG+E80QIyPnBVQbYZyv20Jfk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/tdakkota/asciicheck v0.4.1 h1:bm0tbcmi0jezRA2b5kg4ozmMuGAFotKI3RZfrhfovg8=
github.com/tdakkota/asciicheck v0.4.1/go.mod h1:0k7M3rCfRXb0Z6bwgvkEIMleKH3kXNz9UqJ9Xuqopr8=
github.com/tenntenn/modver v1.0.1 h1:2klLppGhDgzJrScMpkj9Ujy3rXPUspSjAcev9tSEBgA=
github.com/tenntenn/modver v1.0.1/go.mod h1:bePIyQPb7UeioSRkw3Q0XeMhYZSMx9B8ePqg6SAMGH0=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3 h1:f+jULpRQGxTSkNYKJ51yaw6ChIqO+Je8UqsTKN/cDag=
github.com/tenntenn/text/transform v0.0.0-20200319021203-7eef512accb3/go.mod h1:ON8b8w4BN/kE1EOhwT0o+d62W65a6aPw1nouo9LMgyY=
github.com/tetafro/godot v1.5.0 h1:aNwfVI4I3+gdxjMgYPus9eHmoBeJIbnajOyqZYStzuw=
github.com/tetafro/godot v1.5.0/go.mod h1:2oVxTBSftRTh4+MVfUaUXR6bn2GDXCaMcOG4Dk3rfio=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67 h1:9LPGD+jzxMlnk5r6+hJnar67cgpDIz/iyD+rfl5r2Vk=
github.com/timakin/bodyclose v0.0.0-20241222091800-1db5c5ca4d67/go.mod h1:mkjARE7Yr8qU23YcGMSALbIxTQ9r9QBVahQOBRfU460=
github.com/timonwong/loggercheck v0.10.1 h1:uVZYClxQFpw55eh+PIoqM7uAOHMrhVcDoWDery9R8Lg=
github.com/timonwong/loggercheck v0.10.1/go.mod h1:HEAWU8djynujaAVX7QI65Myb8qgfcZ1uKbdpg3ZzKl8=
github.com/tomarrell/wrapcheck/v2 v2.10.0 h1:SzRCryzy4IrAH7bVGG4cK40tNUhmVmMDuJujy4XwYDg=
github.com/tomarrell/wrapcheck/v2 v2.10.0/go.mod h1:g9vNIyhb5/9TQgumxQyOEqDHsmGYcGsVMOx/xGkqdMo=
github.com/tommy-muehle/go-mnd/v2 v2.5.1 h1:NowYhSdyE/1zwK9QCLeRb6USWdoif80Ie+v+yU8u1Zw=
github.com/tommy-muehle/go-mnd/v2 v2.5.1/go.mod h1:WsUAkMJMYww6l/ufffCD3m+P7LEvr8TnZn9lwVDlgzw=
github.com/ultraware/funlen v0.2.0 h1:gCHmCn+d2/1SemTdYMiKLAHFYxTYz7z9VIDRaTGyLkI=
github.com/ultraware/funlen v0.2.0/go.mod h1:ZE0q4TsJ8T1SQcjmkhN/w+MceuatI6pBFSxxyteHIJA=
github.com/ultraware/whitespace v0.2.0 h1:TYowo2m9Nfj1baEQBjuHzvMRbp19i+RCcRYrSWoFa+g=
github.com/ultraware/whitespace v0.2.0/go.mod h1:XcP1RLD81eV4BW8UhQlpaR+SDc2givTvyI8a586WjW8=
github.com/uudashr/gocognit v1.2.0 h1:3BU9aMr1xbhPlvJLSydKwdLN3tEUUrzPSSM8S4hDYRA=
github.com/uudashr/gocognit v1.2.0/go.mod h1:k/DdKPI6XBZO1q7HgoV2juESI2/Ofj9AcHPZhBBdrTU=
github.com/uudashr/iface v1.3.1 h1:bA51vmVx1UIhiIsQFSNq6GZ6VPTk3WNMZgRiCe9R29U=
github.com/uudashr/iface v1.3.1/go.mod h1:4QvspiRd3JLPAEXBQ9AiZpLbJlrWWgRChOKDJEuQTdg=
github.com/xen0n/gosmopolitan v1.3.0 h1:zAZI1zefvo7gcpbCOrPSHJZJYA9ZgLfJqtKzZ5pHqQM=
github.com/xen0n/gosmopolitan v1.3.0/go.mod h1:rckfr5T6o4lBtM1ga7mLGKZmLxswUoH1zxHgNXOsEt4=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
github.com/yagipy/maintidx v1.0.0 h1:h5NvIsCz+nRDapQ0exNv4aJ0yXSI0420omVANTv3GJM=
github.com/yagipy/maintidx v1.0.0/go.mod h1:0qNf/I/CCZXSMhsRsrEPDZ+DkekpKLXAJfsTACwgXLk=
github.com/yeya24/promlinter v0.3.0 h1:JVDbMp08lVCP7Y6NP3qHroGAO6z2yGKQtS5JsjqtoFs=
github.com/yeya24/promlinter v0.3.0/go.mod h1:cDfJQQYv9uYciW60QT0eeHlFodotkYZlL+YcPQN+mW4=
github.com/ykadowak/zerologlint v0.1.5 h1:Gy/fMz1dFQN9JZTPjv1hxEk+sRWm05row04Yoolgdiw=
github.com/ykadowak/zerologlint v0.1.5/go.mod h1:KaUskqF3e/v59oPmdq1U1DnKcuHokl2/K1U4pmIELKg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
gitlab.com/bosi/decorder v0.4.2 h1:qbQaV3zgwnBZ4zPMhGLW4KZe7A7NwxEhJx39R3shffo=
gitlab.com/bosi/decorder v0.4.2/go.mod h1:muuhHoaJkA9QLcYHq4Mj8FJUwDZ+EirSHRiaTcTf6T8=
go-simpler.org/assert v0.9.0 h1:PfpmcSvL7yAnWyChSjOz6Sp6m9j5lyK8Ok9pEL31YkQ=
go-simpler.org/assert v0.9.0/go.mod h1:74Eqh5eI6vCK6Y5l3PI8ZYFXG4Sa+tkr70OIPJAUr28=
go-simpler.org/musttag v0.13.0 h1:Q/YAW0AHvaoaIbsPj3bvEI5/QFP7w696IMUpnKXQfCE=
go-simpler.org/musttag v0.13.0/go.mod h1:FTzIGeK6OkKlUDVpj0iQUXZLUO1Js9+mvykDQy9C5yM=
go-simpler.org/sloglint v0.9.0 h1:/40NQtjRx9txvsB/RN022KsUJU+zaaSb/9q9BSefSrE=
go-simpler.org/sloglint v0.9.0/go.mod h1:G/OrAF6uxj48sHahCzrbarVMptL2kjWTaUeC8+fOGww=
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac h1:TSSpLIG4v+p0rPv1pNOQtl1I8knsO4S9trOxNMOLVP4=
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.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.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.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.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.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.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
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-20200324003944-a576cf524670/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200329025819-fd4102a86c65/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
golang.org/x/tools v0.0.0-20200724022722-7017fd6b1305/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.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.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 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.6.1 h1:R094WgE8K4JirYjBaOpz/AvTyUu/3wbmAoskKN/pxTI=
honnef.co/go/tools v0.6.1/go.mod h1:3puzxxljPCe8RGJX7BIy1plGbxEOZni5mR2aXe3/uk4=
mvdan.cc/gofumpt v0.7.0 h1:bg91ttqXmi9y2xawvkuMXyvAA/1ZGJqYAEGjXuP0JXU=
mvdan.cc/gofumpt v0.7.0/go.mod h1:txVFJy/Sc/mvaycET54pV8SW8gWxTlUuGHVEcncmNUo=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 h1:WjUu4yQoT5BHT1w8Zu56SP8367OuBV5jvo+4Ulppyf8=
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4/go.mod h1:rthT7OuvRbaGcd5ginj6dA2oLE7YNlta9qhBNNdCaLE=
+53
View File
@@ -0,0 +1,53 @@
module lefthook
go 1.24.5
tool github.com/evilmartians/lefthook
require (
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.8.0 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
github.com/creack/pty v1.1.18 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/evilmartians/lefthook v1.4.8 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/term v0.32.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
+108
View File
@@ -0,0 +1,108 @@
github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ=
github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE=
github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc h1:4pZI35227imm7yK2bGPcfpFEmuY1gc2YSTShr4iJBfs=
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc/go.mod h1:X4/0JoqgTIPSFcRA/P6INZzIuyqdFY5rm8tb41s9okk=
github.com/charmbracelet/lipgloss v1.1.0 h1:vYXsiLHVkK7fp74RkV7b2kq9+zDLoEU4MZoFqR/noCY=
github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30=
github.com/charmbracelet/x/ansi v0.8.0 h1:9GTq3xq9caJW8ZrBTe0LIe2fvfLR/bYXKTx2llXn7xE=
github.com/charmbracelet/x/ansi v0.8.0/go.mod h1:wdYl/ONOLHLIVmQaxbIYEC/cRKOQyjTkowiI4blgS9Q=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd h1:vy0GVL4jeHEwG5YOXDmi86oYw2yuYUGqz6a8sLwg0X8=
github.com/charmbracelet/x/cellbuf v0.0.13-0.20250311204145-2c3ea96c31dd/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs=
github.com/charmbracelet/x/term v0.2.1 h1:AQeHeLZ1OqSXhrAWpYUtZyX1T3zVxfpZuEQMIQaGIAQ=
github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+62
View File
@@ -0,0 +1,62 @@
module swagger
go 1.24.5
tool github.com/go-swagger/go-swagger/cmd/swagger
require (
dario.cat/mergo v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/inflect v0.21.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // indirect
github.com/go-viper/mapstructure/v2 v2.3.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jessevdk/go-flags v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
go.mongodb.org/mongo-driver v1.16.1 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.38.0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.14.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.25.0 // indirect
golang.org/x/tools v0.33.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
+123
View File
@@ -0,0 +1,123 @@
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/go-viper/mapstructure/v2 v2.3.0 h1:27XbWsHIqhbdR5TIC911OfYvgSaW93HM+dX7970Q7jk=
github.com/go-viper/mapstructure/v2 v2.3.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-62
View File
@@ -1,62 +0,0 @@
module swagger
go 1.24.5
tool github.com/go-swagger/go-swagger/cmd/swagger
require (
dario.cat/mergo v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.1 // indirect
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/go-openapi/analysis v0.23.0 // indirect
github.com/go-openapi/errors v0.22.0 // indirect
github.com/go-openapi/inflect v0.21.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/loads v0.22.0 // indirect
github.com/go-openapi/runtime v0.28.0 // indirect
github.com/go-openapi/spec v0.21.0 // indirect
github.com/go-openapi/strfmt v0.23.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/go-openapi/validate v0.24.0 // indirect
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jessevdk/go-flags v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
go.mongodb.org/mongo-driver v1.16.1 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.39.0 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/sync v0.15.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/text v0.26.0 // indirect
golang.org/x/tools v0.34.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-123
View File
@@ -1,123 +0,0 @@
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.3.1 h1:QtNSWtVZ3nBfk8mAOu/B6v7FMJ+NHTIgUPi7rj+4nv4=
github.com/Masterminds/semver/v3 v3.3.1/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs=
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM=
golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U=
golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M=
golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA=
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-42
View File
@@ -1,42 +0,0 @@
# To generate the .drone.yml file:
# 1. Modify the *.star definitions
# 2. Login to drone and export the env variables (token and server) shown here: https://drone.grafana.net/account
# 3. Run `make drone`
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
"""
This module returns a Drone configuration including pipelines and secrets.
"""
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/events/main.star", "main_pipelines")
load("scripts/drone/events/pr.star", "pr_pipelines")
load(
"scripts/drone/events/release.star",
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load("scripts/drone/events/rrc-patch.star", "rrc_patch_pipelines")
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
)
load(
"scripts/drone/rgm.star",
"rgm",
)
load("scripts/drone/vault.star", "secrets")
def main(_ctx):
return (
pr_pipelines() +
main_pipelines() +
rrc_patch_pipelines() +
publish_image_pipelines_public() +
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
rgm() +
cronjobs() +
secrets()
)
-3012
View File
File diff suppressed because it is too large Load Diff
+454 -40
View File
@@ -42,9 +42,8 @@
/docs/sources/dashboards/ @imatwawana
/docs/sources/datasources/ @lwandz13
/docs/sources/panels-visualizations/ @imatwawana
/docs/sources/release-notes/ @irenerl24 @GrafanaWriter
/docs/sources/upgrade-guide/ @imatwawana
/docs/sources/whatsnew/ @imatwawana
/docs/sources/upgrade-guide/ @jtvdez
/docs/sources/whatsnew/ @jtvdez
/docs/sources/developers/plugins/ @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
@@ -59,7 +58,6 @@
/go.sum @grafana/grafana-backend-group
/go.work @grafana/grafana-app-platform-squad
/go.work.sum @grafana/grafana-app-platform-squad
/.bingo/ @grafana/grafana-backend-group
/.citools @grafana/grafana-developer-enablement-squad
/pkg/README.md @grafana/grafana-backend-group
/pkg/ruleguard.rules.go @grafana/grafana-backend-group
@@ -70,23 +68,33 @@
/scripts/go-workspace @grafana/grafana-app-platform-squad
/scripts/ci/backend-tests @grafana/grafana-operator-experience-squad
/hack/ @grafana/grafana-app-platform-squad
/.air.toml @macabu
/pkg/apis/provisioning @grafana/grafana-git-ui-sync-team
# Git Sync / App Platform Provisioning
/apps/provisioning/ @grafana/grafana-git-ui-sync-team
/public/app/features/provisioning @grafana/grafana-git-ui-sync-team
/pkg/registry/apis/provisioning @grafana/grafana-git-ui-sync-team
/pkg/tests/apis/provisioning @grafana/grafana-git-ui-sync-team
# Git Sync frontend owned by frontend team as a whole.
/apps/alerting/ @grafana/alerting-backend
/apps/dashboard/ @grafana/grafana-app-platform-squad @grafana/dashboards-squad
/apps/folder/ @grafana/grafana-app-platform-squad
/apps/playlist/ @grafana/grafana-app-platform-squad
/apps/plugins/ @grafana/plugins-platform-backend
/apps/preferences/ @grafana/grafana-app-platform-squad @grafana/grafana-frontend-platform
/apps/shorturl/ @grafana/sharing-squad
/apps/secret/ @grafana/grafana-operator-experience-squad
/apps/investigations/ @fcjack @matryer @svennergr
/apps/advisor/ @grafana/plugins-platform-backend
/apps/iam/ @grafana/access-squad
/apps/sdk.mk @grafana/grafana-app-platform-squad
/pkg/api/ @grafana/grafana-backend-group
/pkg/apis/ @grafana/grafana-app-platform-squad
/pkg/apis/query @grafana/grafana-datasources-core-services
/pkg/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
/pkg/apis/secret @grafana/grafana-operator-experience-squad
/pkg/bus/ @grafana/grafana-search-and-storage
/pkg/clientauth/ @grafana/grafana-app-platform-squad
/pkg/cmd/ @grafana/grafana-backend-group
/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
@@ -105,6 +113,7 @@
/pkg/components/loki/ @grafana/grafana-backend-group
/pkg/components/null/ @grafana/grafana-backend-group
/pkg/components/simplejson/ @grafana/grafana-backend-group
/pkg/configprovider/ @grafana/grafana-backend-services-squad
/pkg/events/ @grafana/grafana-backend-group
/pkg/extensions/ @grafana/grafana-backend-group
/pkg/ifaces/ @grafana/grafana-backend-group
@@ -142,10 +151,12 @@
/pkg/services/dashboardversion/ @grafana/grafana-backend-group
/pkg/services/encryption/ @grafana/grafana-operator-experience-squad
/pkg/services/folder/ @grafana/grafana-search-and-storage
/pkg/services/frontend/ @grafana/grafana-frontend-platform
/pkg/services/apiserver @grafana/grafana-app-platform-squad
/pkg/services/hooks/ @grafana/grafana-backend-group
/pkg/services/kmsproviders/ @grafana/grafana-operator-experience-squad
/pkg/services/licensing/ @grafana/grafana-operator-experience-squad
/pkg/services/dsquerierclient/ @grafana/grafana-datasources-core-services
/pkg/services/navtree/ @grafana/grafana-backend-group
/pkg/services/notifications/ @grafana/grafana-backend-group
/pkg/services/org/ @grafana/grafana-backend-group
@@ -153,7 +164,7 @@
/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/query/ @grafana/grafana-datasources-core-services
/pkg/services/queryhistory/ @grafana/observability-traces-and-profiling
/pkg/services/quota/ @grafana/grafana-search-and-storage
/pkg/services/screenshot/ @grafana/grafana-backend-group
@@ -168,13 +179,16 @@
/pkg/services/tag/ @grafana/grafana-search-and-storage
/pkg/services/team/ @grafana/access-squad
/pkg/services/temp_user/ @grafana/grafana-backend-group
/pkg/services/updatemanager/ @grafana/grafana-backend-group
/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/query @grafana/grafana-datasources-core-services
/pkg/tests/apis/alerting @grafana/grafana-app-platform-squad @grafana/alerting-backend
/pkg/tests/apis/features @grafana/grafana-backend-services-squad
/pkg/tests/apis/folder @grafana/grafana-search-and-storage
/pkg/tests/apis/iam @grafana/identity-access-team
/pkg/tests/api/correlations/ @grafana/datapro
/pkg/tsdb/grafanads/ @grafana/grafana-backend-group
/pkg/tsdb/opentsdb/ @grafana/partner-datasources
@@ -261,6 +275,7 @@
/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/jaegeronly/ @grafana/grafana-operator-experience-squad
/devenv/docker/blocks/maildev/ @grafana/alerting-frontend
/devenv/docker/blocks/mariadb/ @grafana/oss-big-tent
/devenv/docker/blocks/memcached/ @grafana/grafana-backend-group
@@ -286,7 +301,7 @@
/devenv/docker/blocks/sensugo/ @grafana/grafana-backend-group
/devenv/docker/blocks/slow_proxy/ @bergquist
/devenv/docker/blocks/smtp/ @bergquist
/devenv/docker/blocks/tempo/ @grafana/observability-traces-and-profiling
/devenv/docker/blocks/tempo/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/devenv/docker/blocks/traefik/ @mckn
/devenv/docker/blocks/zipkin/ @grafana/oss-big-tent
/devenv/docker/blocks/webdav/ @grafana/alerting-backend
@@ -300,6 +315,7 @@
/devenv/jsonnet/ @grafana/dataviz-squad
/devenv/local_cdn/ @grafana/frontend-ops
/devenv/local-npm/ @grafana/frontend-ops
/devenv/frontend-service/ @grafana/grafana-frontend-platform
/devenv/setup.sh @grafana/grafana-backend-services-squad
/devenv/plugins.yaml @grafana/plugins-platform-frontend
@@ -311,9 +327,6 @@
# Continuous Integration
.drone.yml @grafana/grafana-developer-enablement-squad
.drone.star @grafana/grafana-developer-enablement-squad
/scripts/drone/ @grafana/grafana-developer-enablement-squad
/pkg/build/ @grafana/grafana-developer-enablement-squad
/.dockerignore @grafana/grafana-developer-enablement-squad
/Dockerfile @grafana/grafana-developer-enablement-squad
@@ -332,7 +345,7 @@
/pkg/tsdb/prometheus/ @grafana/oss-big-tent
/pkg/tsdb/elasticsearch/ @grafana/partner-datasources
/pkg/tsdb/loki/ @grafana/oss-big-tent
/pkg/tsdb/tempo/ @grafana/observability-traces-and-profiling
/pkg/tsdb/tempo/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/pkg/tsdb/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/pkg/tsdb/parca/ @grafana/oss-big-tent
@@ -394,32 +407,293 @@
/public/locales/i18next-parser-enterprise.config.cjs @grafana/grafana-frontend-platform
/public/app/core/internationalization/ @grafana/grafana-frontend-platform
/e2e/ @grafana/grafana-frontend-platform
/e2e/cloud-plugins-suite/ @grafana/partner-datasources
/e2e-playwright/cloud-plugins-suite/ @grafana/partner-datasources
/e2e-playwright/dashboard-new-layouts/ @grafana/dashboards-squad
/e2e-playwright/dashboards-search-suite/ @grafana/dashboards-squad
/e2e-playwright/dashboards/DashboardLiveTest.json @grafana/dashboards-squad
/e2e-playwright/dashboards/DataLinkWithoutSlugTest.json @grafana/dashboards-squad
/e2e-playwright/dashboards/PanelSandboxDashboard.json @grafana/plugins-platform-frontend
/e2e-playwright/dashboards/TestDashboard.json @grafana/dashboards-squad @grafana/grafana-search-navigate-organise
/e2e-playwright/dashboards/TestV2Dashboard.json @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-browse-nested.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/dashboards-suite/dashboard-browse.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/dashboards-suite/dashboard-export-image.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/dashboard-export-json.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/dashboard-keybindings.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-links-without-slug.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-live-streaming.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-public-create.spec.ts @grafana/grafana-operator-experience-squad
/e2e-playwright/dashboards-suite/dashboard-public-templating.spec.ts @grafana/grafana-operator-experience-squad
/e2e-playwright/dashboards-suite/dashboard-share-externally-create.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/dashboard-share-internally.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/dashboard-share-snapshot-create.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/dashboard-templating.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-time-zone.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/dashboard-timepicker.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/dashboards-suite/embedded-dashboard.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/general-dashboards.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/import-dashboard.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/load-options-from-url.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-constant-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-custom-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-datasource-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-interval-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-query-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/new-text-box-variable.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/repeating-a-panel-horizontally.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/repeating-a-panel-vertically.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/repeating-an-empty-row.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/set-options-from-ui.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/snapshot-create.spec.ts @grafana/sharing-squad
/e2e-playwright/dashboards-suite/templating-dashboard-links-and-variables.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/textbox-variables.spec.ts @grafana/dashboards-squad
/e2e-playwright/dashboards-suite/utils/makeDashboard.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/fixtures/exemplars-query-response.json @grafana/observability-traces-and-profiling
/e2e-playwright/fixtures/long-trace-response.json @grafana/observability-traces-and-profiling
/e2e-playwright/fixtures/tempo-response.json @grafana/oss-big-tent
/e2e-playwright/panels-suite/dashlist.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/panels-suite/datagrid-data-change.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/datagrid-editing-features.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/frontend-sandbox-panel.spec.ts @grafana/plugins-platform-frontend
/e2e-playwright/panels-suite/geomap-layer-types.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/geomap-map-controls.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/geomap-spatial-operations-transform.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/panelEdit_base.spec.ts @grafana/dashboards-squad
/e2e-playwright/panels-suite/panelEdit_queries.spec.ts @grafana/dashboards-squad
/e2e-playwright/panels-suite/panelEdit_transforms.spec.ts @grafana/datapro
/e2e-playwright/panels-suite/table-kitchenSink.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/table-markdown.spec.ts @grafana/dataviz-squad
/e2e-playwright/panels-suite/table-sparkline.spec.ts @grafana/dataviz-squad
/e2e-playwright/plugin-e2e/ @grafana/oss-big-tent @grafana/partner-datasources
/e2e-playwright/plugin-e2e/plugin-e2e-api-tests/ @grafana/plugins-platform-frontend
/e2e-playwright/smoke-tests-suite/ @grafana/grafana-frontend-platform
/e2e-playwright/start-server @grafana/grafana-frontend-platform
/e2e-playwright/storybook/ @grafana/grafana-frontend-platform
/e2e-playwright/test-plugins/ @grafana/plugins-platform-frontend
/e2e-playwright/unauthenticated/login.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/utils/ @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/bar-gauge.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/bookmarks.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/various-suite/exemplars.spec.ts @grafana/observability-traces-and-profiling
/e2e-playwright/various-suite/explore.spec.ts @grafana/observability-traces-and-profiling
/e2e-playwright/various-suite/filter-annotations.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/frontend-sandbox-app.spec.ts @grafana/plugins-platform-frontend
/e2e-playwright/various-suite/frontend-sandbox-datasource.spec.ts @grafana/plugins-platform-frontend
/e2e-playwright/various-suite/gauge.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/graph-auto-migrate.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/inspect-drawer.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/keybinds.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/loki-query-builder.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/loki-table-explore-to-dash.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/migrate-to-cloud.spec.ts @grafana/grafana-operator-experience-squad
/e2e-playwright/various-suite/navigation.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/various-suite/pie-chart.spec.ts @grafana/dataviz-squad
/e2e-playwright/various-suite/prometheus-annotations.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/prometheus-config.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/prometheus-editor.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/prometheus-variable-editor.spec.ts @grafana/oss-big-tent
/e2e-playwright/various-suite/query-editor.spec.ts @grafana/observability-traces-and-profiling
/e2e-playwright/various-suite/return-to-previous.spec.ts @grafana/grafana-search-navigate-organise
/e2e-playwright/various-suite/solo-route.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/trace-view-scrolling.spec.ts @grafana/observability-traces-and-profiling
/e2e-playwright/various-suite/verify-i18n.spec.ts @grafana/grafana-frontend-platform
/e2e-playwright/various-suite/visualization-suggestions.spec.ts @grafana/dashboards-squad
/e2e-playwright/various-suite/perf-test.spec.ts @grafana/grafana-frontend-platform
# Packages
/packages/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/README.md @grafana/grafana-frontend-platform
/packages/rollup.config.parts.ts @grafana/frontend-ops
# @grafana/alerting
/packages/grafana-alerting/ @grafana/alerting-frontend
# @grafana/data
/packages/grafana-data/CHANGELOG.md @grafana/grafana-frontend-platform
/packages/grafana-data/LICENSE_APACHE2 @grafana/grafana-frontend-platform
/packages/grafana-data/README.md @grafana/grafana-frontend-platform
/packages/grafana-data/package.json @grafana/grafana-frontend-platform
/packages/grafana-data/project.json @grafana/grafana-frontend-platform
/packages/grafana-data/rollup.config.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/index.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-data/src/internal/index.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-data/src/unstable.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-data/tsconfig.build.json @grafana/grafana-frontend-platform
/packages/grafana-data/tsconfig.json @grafana/grafana-frontend-platform
/packages/grafana-data/test/ @grafana/grafana-frontend-platform
/packages/grafana-data/typings/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/**/*logs* @grafana/observability-logs
/packages/grafana-data/src/context/plugins/ @grafana/plugins-platform-frontend
/packages/grafana-data/src/dataframe/ @grafana/dataviz-squad
/packages/grafana-data/src/datetime/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/events/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/field/ @grafana/dashboards-squad
/packages/grafana-data/src/geo/ @grafana/dataviz-squad
/packages/grafana-data/src/monaco/ @grafana/partner-datasources
/packages/grafana-data/src/panel/ @grafana/dashboards-squad
/packages/grafana-data/src/query/ @grafana/grafana-datasources-core-services
/packages/grafana-data/src/rbac/ @grafana/access-squad
/packages/grafana-data/src/table/ @grafana/dataviz-squad
/packages/grafana-data/src/text/ @grafana/dataviz-squad
/packages/grafana-data/src/themes/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/transformations/ @grafana/datapro
/packages/grafana-data/src/types/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/__snapshots__/ @grafanabot
/packages/grafana-data/src/utils/anyToNumber.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/arrayUtils* @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/binaryOperators.ts @grafana/datapro
/packages/grafana-data/src/utils/csv* @grafana/dataviz-squad
/packages/grafana-data/src/utils/dataLinks* @grafana/dashboards-squad
/packages/grafana-data/src/utils/datasource* @grafana/grafana-datasources-core-services
/packages/grafana-data/src/utils/docs.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/deprecationWarning* @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/featureToggles.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/fieldParser.ts @grafana/dataviz-squad
/packages/grafana-data/src/utils/flotPairs* @grafana/dataviz-squad
/packages/grafana-data/src/utils/fuzzySearch* @grafana/grafana-search-navigate-organise
/packages/grafana-data/src/utils/labels* @grafana/observability-logs
/packages/grafana-data/src/utils/legend* @grafana/oss-big-tent
/packages/grafana-data/src/utils/location* @grafana/grafana-search-navigate-organise
/packages/grafana-data/src/utils/LocalStorageValueProvider.tsx @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/makeClassES5Compatible.ts @grafana/plugins-platform-frontend
/packages/grafana-data/src/utils/matchPluginId* @grafana/plugins-platform-frontend
/packages/grafana-data/src/utils/namedColorsPalette* @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/nodeGraph.ts @grafana/observability-traces-and-profiling
/packages/grafana-data/src/utils/numbers.ts @grafana/dataviz-squad
/packages/grafana-data/src/utils/object.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/OptionsUIBuilders.ts @grafana/dashboards-squad
/packages/grafana-data/src/utils/Registry* @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/selectUtils.ts @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/series* @grafana/dataviz-squad
/packages/grafana-data/src/utils/store* @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/testdata/ @grafana/dataviz-squad
/packages/grafana-data/src/utils/tests/ @grafana/grafana-frontend-platform
/packages/grafana-data/src/utils/throwIfAngular* @grafana/plugins-platform-frontend
/packages/grafana-data/src/utils/unaryOperators.ts @grafana/datapro
/packages/grafana-data/src/utils/url* @grafana/grafana-search-navigate-organise
/packages/grafana-data/src/utils/valueMappings* @grafana/dashboards-squad
/packages/grafana-data/src/utils/variables.ts @grafana/plugins-platform-frontend
/packages/grafana-data/src/utils/withLoadingIndicator.ts @grafana/access-squad @grafana/alerting-frontend
/packages/grafana-data/src/valueFormats/ @grafana/dashboards-squad
/packages/grafana-data/src/vector/ @grafana/dataviz-squad
# @grafana/e2e-selectors
/packages/grafana-e2e-selectors/ @grafana/grafana-frontend-platform
# @grafana/eslint-plugin
/packages/grafana-eslint-rules/ @grafana/grafana-frontend-platform
# @grafana/flamegraph
/packages/grafana-flamegraph/ @grafana/observability-traces-and-profiling
# @grafana/o11y-ds-frontend
/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-o11y-ds-frontend/src/SpanBar/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToLogs/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToMetrics/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/packages/grafana-o11y-ds-frontend/src/TraceToProfiles/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
# @grafana/plugin-configs
/packages/grafana-plugin-configs/ @grafana/plugins-platform-frontend
# @grafana/prometheus
/packages/grafana-prometheus/ @grafana/oss-big-tent
/packages/grafana-schema/src/**/*canvas* @grafana/dataviz-squad
/packages/grafana-schema/src/**/*tempo* @grafana/observability-traces-and-profiling
# @grafana/runtime
/packages/grafana-runtime/CHANGELOG.md @grafana/grafana-frontend-platform
/packages/grafana-runtime/LICENSE_APACHE2 @grafana/grafana-frontend-platform
/packages/grafana-runtime/README.md @grafana/grafana-frontend-platform
/packages/grafana-runtime/package.json @grafana/grafana-frontend-platform
/packages/grafana-runtime/project.json @grafana/grafana-frontend-platform
/packages/grafana-runtime/rollup.config.ts @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/index.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-runtime/src/internal/index.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-runtime/src/unstable.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/packages/grafana-runtime/tsconfig.build.json @grafana/grafana-frontend-platform
/packages/grafana-runtime/tsconfig.json @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/analytics @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/analytics/plugins @grafana/plugins-platform-frontend
/packages/grafana-runtime/src/components/DataSourcePicker* @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/components/EmbeddedDashboard.tsx @grafana/dashboards-squad
/packages/grafana-runtime/src/components/FolderPicker.tsx @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/components/PanelRenderer.tsx @grafana/dashboards-squad
/packages/grafana-runtime/src/components/PanelDataErrorView.tsx @grafana/dashboards-squad
/packages/grafana-runtime/src/components/PluginPage.tsx @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/components/QueryEditorWithMigration* @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/packages/grafana-runtime/src/config.ts @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/services/ @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/services/pluginExtensions @grafana/plugins-platform-frontend
/packages/grafana-runtime/src/services/CorrelationsService.ts @grafana/datapro
/packages/grafana-runtime/src/services/LocationService.test.tsx @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/services/LocationService.tsx @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/services/LocationSrv.ts @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/services/live.ts @grafana/dashboards-squad
/packages/grafana-runtime/src/utils/chromeHeaderHeight.ts @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/utils/DataSourceWithBackend* @grafana/grafana-datasources-core-services
/packages/grafana-runtime/src/utils/licensing.ts @grafana/grafana-operator-experience-squad
/packages/grafana-runtime/src/utils/logging.ts @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/utils/megaMenuOpen.ts @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/utils/migrationHandler* @grafana/plugins-platform-frontend @grafana/plugins-platform-backend
/packages/grafana-runtime/src/utils/plugin.ts @grafana/plugins-platform-frontend
/packages/grafana-runtime/src/utils/publicDashboardQueryHandler.ts @grafana/grafana-operator-experience-squad
/packages/grafana-runtime/src/utils/queryResponse* @grafana/grafana-datasources-core-services
/packages/grafana-runtime/src/utils/rbac.ts @grafana/identity-access-team
/packages/grafana-runtime/src/utils/returnToPrevious.ts @grafana/grafana-search-navigate-organise
/packages/grafana-runtime/src/utils/toDataQueryError.ts @grafana/grafana-datasources-core-services
/packages/grafana-runtime/src/utils/userStorage* @grafana/plugins-platform-frontend @grafana/grafana-frontend-platform
/packages/grafana-runtime/src/utils/useFavoriteDatasources* @grafana/plugins-platform-frontend
# @grafana/schema
/packages/grafana-schema/ @grafana/grafana-app-platform-squad
/packages/grafana-schema/src/**/annotationslist @grafana/dashboards-squad
/packages/grafana-schema/src/**/azuremonitor @grafana/partner-datasources
/packages/grafana-schema/src/**/barchart @grafana/dataviz-squad
/packages/grafana-schema/src/**/bargauge @grafana/dataviz-squad
/packages/grafana-schema/src/**/candlestick @grafana/dataviz-squad
/packages/grafana-schema/src/**/canvas @grafana/dataviz-squad
/packages/grafana-schema/src/**/cloudwatch @grafana/aws-datasources
/packages/grafana-schema/src/**/dashboard @grafana/dashboards-squad
/packages/grafana-schema/src/**/dashboardlist @grafana/grafana-search-navigate-organise
/packages/grafana-schema/src/**/datagrid @grafana/dataviz-squad
/packages/grafana-schema/src/**/debug @ryantxu
/packages/grafana-schema/src/**/elasticsearch @grafana/partner-datasources
/packages/grafana-schema/src/**/gauge @grafana/dataviz-squad
/packages/grafana-schema/src/**/geomap @grafana/dataviz-squad
/packages/grafana-schema/src/**/googlecloudmonitoring @grafana/partner-datasources
/packages/grafana-schema/src/**/grafanapyroscope @grafana/observability-traces-and-profiling
/packages/grafana-schema/src/**/heatmap @grafana/dataviz-squad
/packages/grafana-schema/src/**/histogram @grafana/dataviz-squad
/packages/grafana-schema/src/**/librarypanel @grafana/sharing-squad
/packages/grafana-schema/src/**/logs @grafana/observability-logs
/packages/grafana-schema/src/**/logsnew @grafana/observability-logs
/packages/grafana-schema/src/**/loki @grafana/oss-big-tent @grafana/observability-logs
/packages/grafana-schema/src/**/news @grafana/dataviz-squad
/packages/grafana-schema/src/**/nodegraph @grafana/observability-traces-and-profiling @grafana/app-o11y-visualizations
/packages/grafana-schema/src/**/parca @grafana/oss-big-tent
/packages/grafana-schema/src/**/piechart @grafana/dataviz-squad
/packages/grafana-schema/src/**/stat @grafana/dataviz-squad
/packages/grafana-schema/src/**/statetimeline @grafana/dataviz-squad
/packages/grafana-schema/src/**/statushistory @grafana/dataviz-squad
/packages/grafana-schema/src/**/table @grafana/dataviz-squad
/packages/grafana-schema/src/**/tempo @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/packages/grafana-schema/src/**/text @grafana/dataviz-squad
/packages/grafana-schema/src/**/timeseries @grafana/dataviz-squad
/packages/grafana-schema/src/**/trend @grafana/dataviz-squad
/packages/grafana-schema/src/**/xychart @grafana/dataviz-squad
/packages/grafana-schema/src/**/xychart2 @grafana/dataviz-squad
# @grafana/sql
/packages/grafana-sql/ @grafana/partner-datasources @grafana/oss-big-tent
/packages/grafana-ui/.storybook/ @grafana/grafana-frontend-platform
/packages/grafana-ui/src/components/ @grafana/grafana-frontend-platform
# @grafana/ui
/packages/grafana-ui/ @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
@@ -434,7 +708,14 @@
/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/grafana-frontend-platform
/packages/grafana-ui/tsconfig.build.json @grafana/frontend-ops
/packages/grafana-ui/tsconfig.json @grafana/frontend-ops
# @grafana/i18n
/packages/grafana-i18n/ @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
# @grafana/test-utils
/packages/grafana-test-utils @grafana/grafana-frontend-platform
# root files, mostly frontend
/.browserslistrc @grafana/frontend-ops
@@ -443,6 +724,7 @@
/project.json @grafana/frontend-ops
/.nxignore @grafana/frontend-ops
/tsconfig.json @grafana/frontend-ops
/scripts/tsconfig.base.json @grafana/frontend-ops
/.editorconfig @grafana/frontend-ops
/eslint.config.js @grafana/frontend-ops
/.betterer.eslint.config.js @grafana/frontend-ops
@@ -462,29 +744,151 @@
/stylelint.config.js @grafana/frontend-ops
/tools/ @grafana/frontend-ops
/lefthook.yml @grafana/frontend-ops
/lefthook.rc @grafana/frontend-ops
/.husky/pre-commit @grafana/frontend-ops
/cypress.config.js @grafana/grafana-frontend-platform
/.levignore.js @grafana/plugins-platform-frontend
playwright.config.ts @grafana/plugins-platform-frontend
playwright.storybook.config.ts @grafana/grafana-frontend-platform
# public folder
/public/app/api/ @grafana/grafana-frontend-platform
/public/app/core/ @grafana/grafana-frontend-platform
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
/public/app/core/components/Layers/ @grafana/dataviz-squad
/public/app/core/components/GraphNG/ @grafana/dataviz-squad
/public/app/core/components/TimeSeries/ @grafana/dataviz-squad
/public/app/core/components/TimelineChart/ @grafana/dataviz-squad
/public/app/core/actions/ @grafana/grafana-frontend-platform
/public/app/core/app_events.ts @grafana/grafana-frontend-platform
/public/app/core/components/AccessControl/ @grafana/identity-access-team
/public/app/core/components/Animations/ @grafana/grafana-frontend-platform
/public/app/core/components/AppNotifications/ @grafana/grafana-search-navigate-organise
/public/app/core/components/AppChrome/ @grafana/grafana-search-navigate-organise
/public/app/core/components/Branding/ @grafana/grafana-frontend-platform
/public/app/core/components/Breadcrumbs/ @grafana/grafana-search-navigate-organise
/public/app/core/components/BouncingLoader/ @grafana/grafana-frontend-platform
/public/app/core/components/CardButton.tsx @grafana/dashboards-squad
/public/app/core/components/CloseButton/ @grafana/grafana-frontend-platform
/public/app/core/components/ColorScale/ @grafana/dataviz-squad
/public/app/core/components/DynamicImports/ @grafana/grafana-search-navigate-organise
/public/app/core/components/EmptyListCTA/ @grafana/grafana-frontend-platform
/public/app/core/components/FolderFilter/ @grafana/sharing-squad
/public/app/core/components/Footer/ @grafana/grafana-search-navigate-organise
/public/app/core/components/ForgottenPassword/ @grafana/grafana-search-navigate-organise
/public/app/core/components/Form/ @grafana/grafana-frontend-platform
/public/app/core/components/FormPrompt/ @grafana/grafana-frontend-platform
/public/app/core/components/GraphNG/ @grafana/dataviz-squad
/public/app/core/components/help/ @grafana/grafana-search-navigate-organise
/public/app/core/components/Indent/ @grafana/grafana-search-navigate-organise
/public/app/core/components/Layers/ @grafana/dataviz-squad
/public/app/core/components/Login/ @grafana/grafana-search-navigate-organise
/public/app/core/components/NativeScrollbar.tsx @grafana/grafana-search-navigate-organise
/public/app/core/components/NavLandingPage/ @grafana/grafana-search-navigate-organise
/public/app/core/components/NestedFolderPicker/ @grafana/grafana-search-navigate-organise
/public/app/core/components/OptionsUI/ @grafana/dashboards-squad @grafana/dataviz-squad
/public/app/core/components/Page/ @grafana/grafana-search-navigate-organise
/public/app/core/components/PageActionBar/ @grafana/grafana-search-navigate-organise
/public/app/core/components/PageInfo/ @grafana/grafana-search-navigate-organise
/public/app/core/components/PageLoader/ @grafana/grafana-search-navigate-organise
/public/app/core/components/PageNotFound/ @grafana/grafana-search-navigate-organise
/public/app/core/components/PanelTypeFilter/ @grafana/sharing-squad
/public/app/core/components/PasswordField/ @grafana/grafana-frontend-platform
/public/app/core/components/PluginHelp/ @grafana/plugins-platform-frontend
/public/app/core/components/QueryOperationRow/ @grafana/dashboards-squad
/public/app/core/components/RolePickerDrawer/ @grafana/identity-access-team
/public/app/core/components/Select/ @grafana/grafana-frontend-platform
/public/app/core/components/SharedPreferences/ @grafana/grafana-frontend-platform
/public/app/core/components/Signup/ @grafana/grafana-search-navigate-organise
/public/app/core/components/SplitPaneWrapper/ @grafana/observability-traces-and-profiling
/public/app/core/components/SVG/ @grafana/dataviz-squad
/public/app/core/components/TagFilter/ @grafana/grafana-frontend-platform
/public/app/core/components/Theme/ @grafana/grafana-frontend-platform
/public/app/core/components/ThemeSelector/ @grafana/grafana-frontend-platform
/public/app/core/components/TimelineChart/ @grafana/dataviz-squad
/public/app/core/components/TimePicker/ @grafana/grafana-frontend-platform
/public/app/core/components/TimeSeries/ @grafana/dataviz-squad
/public/app/core/components/Upgrade/ @grafana/grafana-operator-experience-squad
/public/app/core/components/ValidationLabels/ @grafana/grafana-search-navigate-organise
/public/app/core/components/VersionHistory/ @grafana/dashboards-squad
/public/app/core/config.ts @grafana/grafana-frontend-platform
/public/app/core/constants.ts @grafana/grafana-frontend-platform
/public/app/core/context/ @grafana/grafana-frontend-platform
/public/app/core/copy/appNotification.ts @grafana/grafana-search-navigate-organise
/public/app/core/core.ts @grafana/grafana-frontend-platform
/public/app/core/crash/ @grafana/observability-traces-and-profiling
/public/app/core/history/ @grafana/observability-traces-and-profiling
/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/core/hooks/useBusEvent.ts @grafana/grafana-frontend-platform
/public/app/core/hooks/useCleanup.ts @grafana/grafana-frontend-platform
/public/app/core/hooks/useMediaQueryMinWidth.ts @grafana/grafana-frontend-platform
/public/app/core/hooks/useNavModel.ts @grafana/grafana-search-navigate-organise
/public/app/core/hooks/useQueryParams.ts @grafana/grafana-frontend-platform
/public/app/core/icons/ @grafana/grafana-frontend-platform
/public/app/core/lifecycle-hooks.ts @grafana/grafana-frontend-platform
/public/app/core/log_events.ts @grafana/dashboards-squad
/public/app/core/monacoEnv.ts @grafana/grafana-frontend-platform @grafana/plugins-platform-frontend
/public/app/core/navigation/ @grafana/grafana-search-navigate-organise
/public/app/core/profiler.ts @grafana/dashboards-squad
/public/app/core/reducers/ @grafana/grafana-frontend-platform
/public/app/core/selectors/ @grafana/grafana-frontend-platform
/public/app/core/services/__mocks__/backend_srv.ts @grafana/grafana-frontend-platform
/public/app/core/services/backend_srv.ts @grafana/grafana-frontend-platform
/public/app/core/services/context_srv.ts @grafana/grafana-frontend-platform
/public/app/core/services/CorrelationsService.ts @grafana/datapro
/public/app/core/services/echo/ @grafana/grafana-frontend-platform
/public/app/core/services/FetchQueue* @grafana/grafana-frontend-platform
/public/app/core/services/impression_srv.ts @grafana/grafana-frontend-platform
/public/app/core/services/KeybindingSet* @grafana/grafana-frontend-platform
/public/app/core/services/keybindingSrv.ts @grafana/grafana-frontend-platform
/public/app/core/services/mocks/subscribeTester.ts @grafana/grafana-frontend-platform
/public/app/core/services/mousetrap/ @grafana/grafana-frontend-platform
/public/app/core/services/NewFrontendAssetsChecker* @grafana/grafana-frontend-platform
/public/app/core/services/PreferencesService.ts @grafana/grafana-frontend-platform
/public/app/core/services/ResponseQueue* @grafana/grafana-frontend-platform
/public/app/core/services/StateManagerBase.ts @grafana/grafana-frontend-platform
/public/app/core/services/theme.ts @grafana/grafana-frontend-platform
/public/app/core/specs/backend_srv.test.ts @grafana/grafana-frontend-platform
/public/app/core/specs/factors.test.ts @grafana/dashboards-squad
/public/app/core/specs/flatten.test.ts @grafana/grafana-frontend-platform
/public/app/core/specs/impression_srv.test.ts @grafana/grafana-frontend-platform
/public/app/core/specs/rangeutil.test.ts @grafana/grafana-frontend-platform
/public/app/core/specs/store.test.ts @grafana/grafana-frontend-platform
/public/app/core/specs/TableModel.test.ts @grafana/partner-datasources
/public/app/core/specs/ticks.test.ts @grafana/plugins-platform-frontend
/public/app/core/specs/time_series.test.ts @grafana/dataviz-squad
/public/app/core/store.ts @grafana/grafana-frontend-platform
/public/app/core/TableModel.ts @grafana/partner-datasources
/public/app/core/time_series2.ts @grafana/dataviz-squad
/public/app/core/trustedTypePolicies.ts @grafana/grafana-frontend-platform
/public/app/core/utils/accessControl.ts @grafana/identity-access-team
/public/app/core/utils/applyStateChanges.ts @grafana/dashboards-squad
/public/app/core/utils/arrayMove.ts @grafana/grafana-frontend-platform
/public/app/core/utils/auth.ts @grafana/identity-access-team
/public/app/core/utils/browser* @grafana/grafana-frontend-platform
/public/app/core/utils/colors.ts @grafana/grafana-frontend-platform
/public/app/core/utils/ConfigProvider.tsx @grafana/grafana-frontend-platform
/public/app/core/utils/CorsSharedWorker.ts @grafana/grafana-frontend-platform
/public/app/core/utils/CorsWorker.ts @grafana/grafana-frontend-platform
/public/app/core/utils/connectWithReduxStore.tsx @grafana/grafana-frontend-platform
/public/app/core/utils/dag* @grafana/grafana-frontend-platform
/public/app/core/utils/deferred.ts @grafana/grafana-frontend-platform
/public/app/core/utils/docsLinks.ts @grafana/grafana-frontend-platform
/public/app/core/utils/errors* @grafana/grafana-frontend-platform
/public/app/core/utils/explore* @grafana/observability-traces-and-profiling
/public/app/core/utils/factors.ts @grafana/dashboards-squad
/public/app/core/utils/fetch* @grafana/grafana-frontend-platform
/public/app/core/utils/flatten.ts @grafana/grafana-frontend-platform
/public/app/core/utils/isShallowEqual.ts @grafana/grafana-frontend-platform
/public/app/core/utils/kbn* @grafana/grafana-frontend-platform
/public/app/core/utils/navBarItem-translations.ts @grafana/grafana-search-navigate-organise
/public/app/core/utils/object* @grafana/grafana-frontend-platform
/public/app/core/utils/query* @grafana/grafana-datasources-core-services
/public/app/core/utils/richHistory* @grafana/observability-traces-and-profiling
/public/app/core/utils/set.ts @grafana/grafana-frontend-platform
/public/app/core/utils/shortLinks* @grafana/sharing-squad
/public/app/core/utils/ticks.ts @grafana/plugins-platform-frontend
/public/app/core/utils/timePicker* @grafana/grafana-frontend-platform
/public/app/core/utils/timeRegions* @grafana/dataviz-squad
/public/app/core/utils/urlToken.ts @grafana/identity-access-team
/public/app/core/utils/version.ts @grafana/partner-datasources
/public/app/dev-utils.ts @grafana/grafana-frontend-platform
/public/app/features/actions/ @grafana/dataviz-squad
/public/app/features/admin/ @grafana/identity-access-team
/public/app/features/auth-config/ @grafana/identity-squad
/public/app/features/annotations/ @grafana/dashboards-squad
/public/app/features/canvas/ @grafana/dataviz-squad
@@ -508,6 +912,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/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/migrate-to-cloud @grafana/grafana-operator-experience-squad
/public/app/features/notifications/ @grafana/grafana-search-navigate-organise
/public/app/features/org/ @grafana/grafana-search-navigate-organise
/public/app/features/panel/ @grafana/dashboards-squad
@@ -597,6 +1002,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/dev.ts @grafana/frontend-ops
/public/app/core/utils/metrics.ts @grafana/plugins-platform-frontend
/public/app/index.ts @grafana/frontend-ops
/public/app/initApp.ts @grafana/frontend-ops
/public/app/AppWrapper.tsx @grafana/frontend-ops
/public/app/partials/ @grafana/grafana-frontend-platform
@@ -610,6 +1016,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/scripts/cli/ @grafana/grafana-frontend-platform
/scripts/clean-git-or-error.sh @grafana/grafana-as-code
/scripts/grafana-server/ @grafana/grafana-frontend-platform
/scripts/check-frontend-dev.sh @grafana/grafana-frontend-platform
/scripts/helpers/ @grafana/grafana-developer-enablement-squad
/scripts/import_many_dashboards.sh @torkelo
/scripts/mixin-check.sh @bergquist
@@ -629,6 +1036,7 @@ playwright.config.ts @grafana/plugins-platform-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/rtk-client-generator/ @grafana/grafana-search-navigate-organise
/scripts/**/generate-transformations* @grafana/datapro
/scripts/webpack/ @grafana/frontend-ops
@@ -658,7 +1066,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/public/app/plugins/datasource/prometheus/ @grafana/oss-big-tent
/public/app/plugins/datasource/cloud-monitoring/ @grafana/partner-datasources
/public/app/plugins/datasource/zipkin/ @grafana/oss-big-tent
/public/app/plugins/datasource/tempo/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/tempo/ @grafana/oss-big-tent @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/grafana-pyroscope-datasource/ @grafana/observability-traces-and-profiling
/public/app/plugins/datasource/parca/ @grafana/oss-big-tent
/public/app/plugins/datasource/alertmanager/ @grafana/alerting-squad
@@ -696,6 +1104,7 @@ playwright.config.ts @grafana/plugins-platform-frontend
/pkg/services/anonymous/ @grafana/identity-access-team
/pkg/services/auth/ @grafana/identity-squad
/pkg/services/authn/ @grafana/identity-squad
/pkg/services/scimutil/ @grafana/identity-squad
/pkg/services/authz/ @grafana/access-squad
/pkg/services/signingkeys/ @grafana/identity-squad
/pkg/services/dashboards/accesscontrol.go @grafana/access-squad
@@ -737,6 +1146,8 @@ embed.go @grafana/grafana-as-code
/pkg/registry/apis/secret @grafana/grafana-operator-experience-squad
/pkg/registry/apis/userstorage @grafana/grafana-app-platform-squad @grafana/plugins-platform-backend
/pkg/registry/apps/advisor @grafana/plugins-platform-backend
/pkg/registry/apps/alerting @grafana/alerting-backend
/pkg/registry/apps/plugins @grafana/plugins-platform-backend
/pkg/codegen/ @grafana/grafana-as-code
/pkg/codegen/generators @grafana/grafana-as-code
/pkg/kinds/*/*_gen.go @grafana/grafana-as-code
@@ -760,6 +1171,7 @@ embed.go @grafana/grafana-as-code
/.github/actions/setup-grafana-bench/ @Proximyst
/.github/actions/build-package @grafana/grafana-developer-enablement-squad
/.github/actions/change-detection @grafana/grafana-developer-enablement-squad
/.github/actions/setup-node @grafana/grafana-frontend-platform
/.github/workflows/actionlint-format.txt @grafana/grafana-developer-enablement-squad
/.github/workflows/actionlint.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/add-to-whats-new.yml @grafana/docs-tooling
@@ -782,6 +1194,7 @@ embed.go @grafana/grafana-as-code
/.github/workflows/commands.yml @torkelo
/.github/workflows/community-release.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend
/.github/workflows/detect-plugin-extension-changes.yml @grafana/plugins-platform-frontend
/.github/workflows/documentation-ci.yml @grafana/docs-tooling
/.github/workflows/deploy-pr-preview.yml @grafana/docs-tooling
/.github/workflows/feature-toggles-ci.yml @grafana/docs-tooling
@@ -802,8 +1215,7 @@ embed.go @grafana/grafana-as-code
/.github/workflows/publish-technical-documentation-release.yml @grafana/docs-tooling
/.github/workflows/scripts/json-file-to-job-output.js @grafana/plugins-platform-frontend
/.github/workflows/stale.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/storybook-verification.yml @grafana/grafana-frontend-platform
/.github/workflows/storybook-verification-playwright.yml @grafana/grafana-frontend-platform
/.github/workflows/storybook-a11y.yml @grafana/grafana-frontend-platform
/.github/workflows/update-make-docs.yml @grafana/docs-tooling
/.github/workflows/scripts/kinds/verify-kinds.go @grafana/platform-monitoring
/.github/workflows/scripts/create-security-branch/create-security-branch.sh @grafana/grafana-developer-enablement-squad
@@ -812,7 +1224,6 @@ embed.go @grafana/grafana-as-code
/.github/workflows/verify-kinds.yml @grafana/platform-monitoring
/.github/workflows/dashboards-issue-add-label.yml @grafana/dashboards-squad
/.github/workflows/run-schema-v2-e2e.yml @grafana/dashboards-squad
/.github/workflows/e2e-dashboard-new-layouts.yml @grafana/dashboards-squad
/.github/workflows/run-dashboard-search-e2e.yml @grafana/grafana-search-and-storage
/.github/workflows/trigger-dashboard-search-e2e.yml @grafana/grafana-search-and-storage
/.github/workflows/ephemeral-instances-pr-comment.yml @grafana/grafana-operator-experience-squad
@@ -841,9 +1252,11 @@ embed.go @grafana/grafana-as-code
/.github/workflows/analytics-events-report.yml @grafana/grafana-frontend-platform
/.github/workflows/pr-e2e-tests.yml @grafana/grafana-developer-enablement-squad
/.github/workflows/skye-add-to-project.yml @grafana/grafana-frontend-platform
/.github/workflows/frontend-perf-tests.yaml @grafana/grafana-frontend-platform
/.github/zizmor.yml @grafana/grafana-developer-enablement-squad
/.github/license_finder.yaml @bergquist
/.github/actionlint.yaml @grafana/grafana-developer-enablement-squad
/.github/workflows/pr-test-docker.yml @grafana/grafana-developer-enablement-squad
# Generated files not requiring owner approval
/packages/grafana-data/src/types/featureToggles.gen.ts @grafanabot
@@ -865,4 +1278,5 @@ embed.go @grafana/grafana-as-code
/conf/provisioning/sample/ @grafana/grafana-git-ui-sync-team
# Security
/relyance.yaml @grafana/security-team
/.github/workflows/relyance-scan.yml @grafana/security-team
+20
View File
@@ -6,3 +6,23 @@ self-hosted-runner:
- github-hosted-ubuntu-x64-small
- github-hosted-ubuntu-x64-large
- github-hosted-windows-x64-large
- ubuntu-x64
- ubuntu-x64-io
- ubuntu-x64-small
- ubuntu-x64-small-io
- ubuntu-x64-large
- ubuntu-x64-large-io
- ubuntu-x64-xlarge
- ubuntu-x64-xlarge-io
- ubuntu-x64-2xlarge
- ubuntu-x64-2xlarge-io
- ubuntu-arm64
- ubuntu-arm64-io
- ubuntu-arm64-small
- ubuntu-arm64-small-io
- ubuntu-arm64-large
- ubuntu-arm64-large-io
- ubuntu-arm64-xlarge
- ubuntu-arm64-xlarge-io
- ubuntu-arm64-2xlarge
- ubuntu-arm64-2xlarge-io
-1
View File
@@ -139,7 +139,6 @@ runs:
with:
verb: run
dagger-flags: --verbose=0
version: 0.18.8
args: go run -C ${GRAFANA_PATH} ./pkg/build/cmd artifacts --artifacts ${ARTIFACTS} --grafana-dir=${GRAFANA_PATH} --alpine-base=${ALPINE_BASE} --ubuntu-base=${UBUNTU_BASE} --enterprise-dir=${ENTERPRISE_PATH} --version=${VERSION} --patches-repo=${PATCHES_REPO} --patches-ref=${PATCHES_REF} --patches-path=${PATCHES_PATH} --build-id=${BUILD_ID} --tag-format="${TAG_FORMAT}" --ubuntu-tag-format="${UBUNTU_TAG_FORMAT}" --org=${DOCKER_ORG} --registry=${DOCKER_REGISTRY} --checksum=${CHECKSUM} --verify=${VERIFY} > $OUTFILE
- id: output
shell: bash
+21 -2
View File
@@ -19,12 +19,18 @@ outputs:
value: ${{ steps.changed-files.outputs.e2e_any_changed == 'true' ||
steps.changed-files.outputs.backend_any_changed == 'true' ||
steps.changed-files.outputs.frontend_any_changed == 'true' || 'true' }}
e2e-cloud-plugins:
description: Whether the cloud plugins code or tests have changed in any way
value: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}
dev-tooling:
description: Whether the dev tooling or self have changed in any way
value: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}
docs:
description: Whether the docs or self have changed in any way
value: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}
dockerfile:
description: Whether the dockerfile or self have changed in any way
value: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}
runs:
using: composite
steps:
@@ -39,6 +45,8 @@ runs:
self:
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
dockerfile:
- 'Dockerfile'
backend:
- '!*.md'
- '!docs/**'
@@ -47,6 +55,10 @@ runs:
- '.github/actions/checkout/**'
- '**/go.mod'
- '**/go.sum'
- 'go.mod'
- 'go.sum'
- 'go.work'
- 'go.work.sum'
- '**.go'
- 'pkg/**'
- '!pkg/**.md'
@@ -91,13 +103,17 @@ runs:
- 'proto/**'
- '**/Makefile'
- 'scripts/**'
- '!scripts/drone/**'
- '!**.md'
- '.github/actions/change-detection/**'
- '**.cue'
- 'conf/**'
- 'cypress.config.js'
- '${{ inputs.self }}'
e2e_cloud_plugins:
- 'pkg/tsdb/azuremonitor/**'
- 'public/app/plugins/datasource/azuremonitor/**'
- 'e2e-playwright/cloud-plugins-suite/azure-monitor.spec.ts'
- '${{ inputs.self }}'
dev_tooling:
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
@@ -111,7 +127,6 @@ runs:
- 'scripts/**'
- '!**.md'
- '.citools/**'
- '.bingo/**'
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
docs:
@@ -135,7 +150,11 @@ runs:
echo " --> ${{ steps.changed-files.outputs.e2e_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
echo "E2E cloud plugins: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.e2e_cloud_plugins_all_changed_files }}"
echo "Dev Tooling: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dev_tooling_all_changed_files }}"
echo "Docs: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.docs_all_changed_files }}"
echo "Dockerfile: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dockerfile_all_changed_files }}"
+11
View File
@@ -0,0 +1,11 @@
name: Setup Node.js
description: Sets up a node.js environment with presets for the Grafana repository.
runs:
using: "composite"
steps:
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
+18 -10
View File
@@ -136,7 +136,7 @@
"name": "datasource/Tempo",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -152,7 +152,7 @@
"name": "datasource/Parca",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -168,7 +168,7 @@
"name": "datasource/Jaeger",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -176,7 +176,7 @@
"name": "datasource/Zipkin",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -584,7 +584,7 @@
"name": "area/public-dashboards",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/482"
"url": "https://github.com/orgs/grafana/projects/467"
}
},
{
@@ -696,7 +696,7 @@
"name": "area/navigation",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -704,7 +704,7 @@
"name": "area/search",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -752,7 +752,7 @@
"name": "area/image-rendering",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/482"
"url": "https://github.com/orgs/grafana/projects/467"
}
},
{
@@ -947,6 +947,14 @@
"url": "https://github.com/orgs/grafana/projects/202"
}
},
{
"type": "label",
"name": "area/gitsync",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/792"
}
},
{
"type": "label",
"name": "area/backend/db/sqlite",
@@ -1000,7 +1008,7 @@
"name": "area/frontend/login",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -1032,7 +1040,7 @@
"name": "area/panel/dashboard-list",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
-1
View File
@@ -13,7 +13,6 @@ updates:
- "/pkg/aggregator"
- "/pkg/apimachinery"
- "/pkg/apis/folder"
- "/pkg/apis/secret"
- "/pkg/apiserver"
- "/pkg/build"
- "/pkg/build/wire"
+1 -2
View File
@@ -4,8 +4,7 @@
"memberOf": {
"org": "grafana"
},
"noLabels": true,
"addLabel": "internal",
"noLabels": true,
"comment": " please add one or more appropriate labels. Here are some tips:\r\n\r\n- if you are making an issue, TODO, or reminder for yourself or your team, please add one label that best describes the product or feature area. Please also add the issue to your project board. :rocket:\r\n\r\n- if you are making an issue for any other reason (docs typo, you found a bug, etc), please add at least one label that best describes the product or feature that you are discussing (e.g. `area/alerting`, `datasource/loki`, `type/docs`, `type/bug`, etc). [Our issue triage](https://github.com/grafana/grafana/blob/main/contribute/ISSUE_TRIAGE.md#3-categorize-an-issue) doc also provides additional guidance on labeling. :rocket:\r\n\r\n Thank you! :heart:"
}
]
+1 -1
View File
@@ -99,7 +99,7 @@
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/apis/secret
- github.com/grafana/grafana/apps/secret
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
-10
View File
@@ -71,16 +71,6 @@
"action": "updateLabel",
"addLabel": "type/build-packaging"
},
{
"type": "changedfiles",
"matches": [
"scripts/*.star",
".drone.star",
".drone.yml"
],
"action": "updateLabel",
"addLabel": "type/ci"
},
{
"type": "changedfiles",
"matches": [
+18 -1
View File
@@ -12,6 +12,7 @@
'react-refresh',
"@types/history", // this can be removed entirely when we upgrade history since v5 exposes types directly
"cypress", // cypress use is deprecated, we should not bump it anymore
"history", // we should bump this together with react-router-dom (see https://github.com/grafana/grafana/issues/76744)
"react-router", // we should bump this together with history and react-router-dom
"react-router-dom", // we should bump this together with history (see https://github.com/grafana/grafana/issues/76744)
@@ -31,29 +32,41 @@
automerge: true,
matchCurrentVersion: "!/^0/",
matchUpdateTypes: ["patch"],
matchPackageNames: ["!/^@?storybook/", "!/^@locker/"],
matchPackageNames: ["!/^@?storybook/", "!/^@locker/", "!/^@grafana/"],
minimumReleaseAge: "7 days",
},
{
automerge: true,
matchCurrentVersion: "!/^0/",
matchUpdateTypes: ["patch"],
matchPackageNames: ["/^@grafana/"],
},
{
extends: ["schedule:monthly"],
groupName: "Storybook updates",
matchPackageNames: ["/^@?storybook/"],
rangeStrategy: "bump",
minimumReleaseAge: "7 days",
},
{
groupName: "React Aria",
matchPackageNames: ["@react-aria/{/,}**", "@react-stately/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "Moveable",
matchPackageNames: ["moveable", "react-moveable"],
minimumReleaseAge: "7 days",
},
{
groupName: "Slate",
matchPackageNames: ["@types/slate", "@types/slate-react", "slate", "slate-react"],
minimumReleaseAge: "7 days",
},
{
groupName: "d3",
matchPackageNames: ["d3{/,}**", "@types/d3{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "scenes",
@@ -66,21 +79,25 @@
{
groupName: "visx",
matchPackageNames: ["@visx/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "uLibraries",
matchPackageNames: ["@leeoniya/**", "uplot"],
reviewers: ["leeoniya"],
minimumReleaseAge: "7 days",
},
{
groupName: "locker",
reviewers: ["team:grafana/plugins-platform-frontend"],
matchPackageNames: ["@locker/{/,}**"],
minimumReleaseAge: "7 days",
},
{
groupName: "augurs",
matchPackageNames: ["@bsull/augurs"],
reviewers: ["sd2k"],
minimumReleaseAge: "7 days",
},
{
"matchDepTypes": ["devDependencies"],
+1 -1
View File
@@ -5,7 +5,7 @@ on:
push:
branches:
- main
- release-*.*.*
- release-*
pull_request:
types:
- opened
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
permissions:
pull-requests: write
steps:
- uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1
- uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
with:
message: |
Since you've added the `Add to what's new` label, consider drafting a [What's new note](https://admin.grafana.com/content-admin/#/collections/whats-new/new) for this feature.
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
fetch-depth: 2
persist-credentials: false
- name: Set go version
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
- name: Build swagger
+17 -3
View File
@@ -29,7 +29,7 @@ jobs:
fi
- name: Setup Go
uses: actions/setup-go@f111f3307d8850f501ac008e886eec1fd1932a34 # 5.3.0
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # 5.5.0
with:
"go-version-file": "go.mod"
@@ -51,7 +51,7 @@ jobs:
run: |
TO_COMMIT="$(gh api repos/grafana/alerting/commits/"$BRANCH" --jq '.sha')"
if [ -z "$TO_COMMIT" ]; then
echo "Branch $BRANCH not found in alerting repo, falling back to main branch"
echo "Branch $BRANCH not found in alerting repo"
exit 1
fi
echo "to_commit=$TO_COMMIT" >> "$GITHUB_OUTPUT"
@@ -85,7 +85,7 @@ jobs:
printf "%s\n" "$ALERTING_COMMITS"
# make the list for markdown and replace PR numbers with links
ALERTING_COMMITS_FORMATTED="$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/grafana\/pull\/\1)/g'; done)"
ALERTING_COMMITS_FORMATTED="$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/alerting\/pull\/\1)/g'; done)"
{
echo "alerting_commits<<EOF"
@@ -123,6 +123,9 @@ jobs:
title: 'Alerting: Update alerting module to ${{ steps.latest-commit.outputs.to_commit }}'
branch: alerting/update-alerting-module
delete-branch: true
labels: |
no-changelog
no-backport
body: |
Updates Grafana Alerting module to latest version.
@@ -144,3 +147,14 @@ jobs:
echo "## Pull Request Created"
echo "🔗 [View Pull Request]($PR_URL)"
} >> "$GITHUB_STEP_SUMMARY"
- name: Send Slack Message
uses: grafana/shared-workflows/actions/send-slack-message@send-slack-message/v2.0.3
with:
method: 'chat.postMessage'
# send to alerting-reviews channel
payload-templated: true
payload: |
{
"channel": "C076RNRRZ2N",
"text": "Update alerting module in Grafana ${{ steps.create-pr.outputs.pull-request-url }}"
}
@@ -14,6 +14,7 @@ area/backend/db/mysql
area/backend/db/postgres
area/backend/db/sql
area/backend/db/sqlite
area/gitsync
area/configuration
area/dashboard/annotations
area/dashboard/data-links
+28 -10
View File
@@ -9,18 +9,36 @@ on:
push:
branches:
- main
- release-*.*.*
paths-ignore:
- '*.md'
- 'docs/**'
- 'latest.json'
permissions:
contents: read
id-token: write
jobs:
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/backend-code-checks.yml
validate-configs:
permissions:
contents: read
id-token: write
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
name: Validate Backend Configs
runs-on: ubuntu-latest
steps:
@@ -28,7 +46,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
# Explicitly set Go version to 1.24.1 to ensure consistent OpenAPI spec generation
# The crypto/x509 package has additional fields in Go 1.24.1 that affect the generated specs
@@ -40,7 +58,7 @@ jobs:
run: |
CODEGEN_VERIFY=1 make gen-cue
CODEGEN_VERIFY=1 make gen-jsonnet
- name: Validate go.mod
run: go run scripts/modowners/modowners.go check go.mod
@@ -49,7 +67,7 @@ jobs:
- name: Setup Grafana Enterprise
if: github.event.pull_request.head.repo.fork == false
uses: ./.github/actions/setup-enterprise
- name: Generate and Validate OpenAPI Specs
run: |
# For PRs from forks, we'll just run the basic swagger-gen without validation
@@ -58,10 +76,10 @@ jobs:
make swagger-gen
exit 0
fi
# Clean and regenerate OpenAPI specs
make swagger-clean && make openapi3-gen
# Check if the generated specs differ from what's in the repository
for f in public/api-merged.json public/openapi3.json; do git add $f; done
if [ -z "$(git diff --name-only --cached)" ]; then
+6 -4
View File
@@ -16,6 +16,8 @@ permissions: {}
jobs:
detect-changes:
name: Detect whether code changed
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
runs-on: ubuntu-latest
permissions:
contents: read
@@ -46,7 +48,7 @@ jobs:
fail-fast: false
name: Grafana (${{ matrix.shard }})
runs-on: ubuntu-latest-8-cores
runs-on: ubuntu-latest
continue-on-error: true
permissions:
contents: read
@@ -57,7 +59,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
- name: Run unit tests
@@ -81,7 +83,7 @@ jobs:
fail-fast: false
name: Grafana Enterprise (${{ matrix.shard }})
runs-on: ubuntu-latest-8-cores
runs-on: ubuntu-x64-large
permissions:
contents: read
id-token: write
@@ -92,7 +94,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
- name: Setup Enterprise
+1 -1
View File
@@ -13,7 +13,7 @@ permissions: {}
jobs:
backport:
# Only run this job if the triggering workflow was not skipped (and on grafana repo)
if: github.repository == 'grafana/grafana' && github.event.workflow_run.conclusion == 'success'
if: github.event.workflow_run.head_repository.fork == false && github.repository == 'grafana/grafana' && github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
permissions:
id-token: write
+7 -19
View File
@@ -13,29 +13,17 @@ on:
required: false
permissions:
id-token: write
contents: read
contents: write
pull-requests: write
jobs:
bump-version:
runs-on: ubuntu-latest
steps:
- uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: '["grafana"]'
permissions: '{"contents": "write", "pull_requests": "write", "workflows": "write"}'
- name: Checkout Grafana
uses: actions/checkout@v5
uses: actions/checkout@v4
with:
token: ${{ steps.generate_token.outputs.token }}
persist-credentials: false
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
@@ -47,10 +35,10 @@ jobs:
DRY_RUN: ${{ inputs.dry_run }}
REF_NAME: ${{ github.ref_name }}
RUN_ID: ${{ github.run_id }}
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --local user.name "grafana-delivery-bot[bot]"
git config --local user.email "grafana-delivery-bot[bot]@users.noreply.github.com"
git config --local 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/${RUN_ID}/${VERSION}"
git add .
+1 -1
View File
@@ -2,7 +2,7 @@ name: "Codeowners Validator"
on:
pull_request:
branches: [ main, release-* ]
branches: [ main ]
permissions: {}
+26 -3
View File
@@ -23,7 +23,28 @@ permissions:
security-events: write
jobs:
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
javascript: ${{ steps.detect-changes.outputs.frontend }}
go: ${{ steps.detect-changes.outputs.backend }}
actions: 'true'
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/codeql-analysis.yml
analyze:
needs: detect-changes
name: Analyze
runs-on: ubuntu-latest
continue-on-error: true # doesn't block PRs from being merged if this fails
@@ -41,6 +62,7 @@ jobs:
steps:
- name: Checkout repository
if: needs.detect-changes.outputs[matrix.language] == 'true'
uses: actions/checkout@v4
with:
# We must fetch at least the immediate parents so that if this is
@@ -48,14 +70,15 @@ jobs:
fetch-depth: 2
persist-credentials: false
- if: matrix.language == 'go'
- if: matrix.language == 'go' && needs.detect-changes.outputs.go == 'true'
name: Set go version
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
if: needs.detect-changes.outputs[matrix.language] == 'true'
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
@@ -64,7 +87,7 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- if: matrix.language == 'go'
- if: matrix.language == 'go' && needs.detect-changes.outputs.go == 'true'
name: Build go files
run: |
go mod verify
@@ -62,7 +62,7 @@ jobs:
with:
credentials_json: '${{ env.PLUGINS_GOOGLE_CREDENTIALS }}'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a'
uses: 'google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a'
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
@@ -101,7 +101,7 @@ jobs:
echo "has_backend=false" >> "$GITHUB_OUTPUT"
fi
- name: Setup golang environment
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
if: steps.check_backend.outputs.has_backend == 'true'
with:
go-version-file: go.mod
+1 -13
View File
@@ -32,19 +32,7 @@ jobs:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
- name: Cache node_modules
uses: actions/cache@v4
with:
path: |
node_modules
key: node_modules-${{ hashFiles('yarn.lock') }}
restore-keys: |
node_modules-
uses: ./.github/actions/setup-node
- name: Install dependencies
env:
@@ -165,7 +165,7 @@ jobs:
project_id: 'grafanalabs-global'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a'
uses: 'google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a'
if: github.event.pull_request.head.repo.full_name == github.repository
with:
version: '>= 363.0.0'
@@ -271,7 +271,7 @@ jobs:
# Comment on the PR
- name: Comment on PR
if: steps.levitate-run.outputs.exit_code == 1
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405
with:
header: levitate-breaking-change-comment
number: ${{ github.event.pull_request.number }}
@@ -288,7 +288,7 @@ jobs:
# Remove comment from the PR (no more breaking changes)
- name: Remove comment from PR
if: steps.levitate-run.outputs.exit_code == 0
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405
with:
header: levitate-breaking-change-comment
number: ${{ github.event.pull_request.number }}
@@ -0,0 +1,156 @@
---
name: Detect Plugin Extension Changes
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
on:
pull_request:
branches:
- 'main'
paths:
- 'packages/**'
- 'public/**'
env:
# Space-separated list of keywords referring to plugin extensions
PLUGIN_EXTENSION_KEYWORDS: "usePluginLinks, usePluginComponent, usePluginComponents, usePluginFunctions, PluginExtensionPoints"
jobs:
detect-plugin-extension-changes:
name: Detect Plugin Extension Changes
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
- name: Check for plugin extension changes
id: check-changes
uses: actions/github-script@v7
with:
script: |
const { execSync } = require('child_process');
const fs = require('fs');
// Plugin extension keywords from environment
const keywords = process.env.PLUGIN_EXTENSION_KEYWORDS.split(',');
const baseSha = '${{ github.event.pull_request.base.sha }}';
const headSha = '${{ github.event.pull_request.head.sha }}';
console.log('Checking for plugin extension changes...');
console.log('Keywords:', keywords);
// Get changed files in packages/ and public/ directories
let changedFiles = [];
const diffOutput = execSync(
`git diff --name-only ${baseSha}...${headSha} -- packages/ public/`,
{ encoding: 'utf8' }
).trim();
if (diffOutput) {
changedFiles = diffOutput.split('\n').filter(file => {
// Validate file path and ensure it's in target directories
return file.match(/^(packages\/|public\/)/) &&
file.match(/^[a-zA-Z0-9._/-]+$/) &&
fs.existsSync(file);
});
}
console.log('Changed files to check:', changedFiles);
// Check each file for plugin extension keywords
const filesWithChanges = new Set();
let hasPluginExtensionChanges = false;
for (const file of changedFiles) {
try {
// Get the diff for this specific file
const fileDiff = execSync(
`git diff ${baseSha}...${headSha} -- "${file}"`,
{ encoding: 'utf8' }
);
// Check if any keywords are in the diff
for (const keyword of keywords) {
if (fileDiff.includes(keyword)) {
console.log(`Found ${keyword} in ${file}`);
filesWithChanges.add(file);
hasPluginExtensionChanges = true;
break; // Found at least one keyword, move to next file
}
}
} catch (error) {
console.log(`Error checking file ${file}:`, error.message);
}
}
// Set outputs
const filesArray = Array.from(filesWithChanges);
const formattedFiles = filesArray.length > 0
? '`' + filesArray.join('`\\n- `') + '`'
: '';
core.setOutput('plugin_extension_changes', hasPluginExtensionChanges.toString());
core.setOutput('formatted_changed_files', formattedFiles);
if (hasPluginExtensionChanges) {
console.log('The following files have changes that may affect plugin extensions:');
console.log(filesArray);
} else {
console.log('No changes detected in core Grafana extensions or extension points.');
}
- name: Send Slack Message via Payload
id: slack
if: steps.check-changes.outputs.plugin_extension_changes == 'true'
uses: grafana/shared-workflows/actions/send-slack-message@0941e3408fa4789fec9062c44a2a9e1832146ba6 #v2.0.1
with:
method: chat.postMessage
payload-templated: true
payload: |
{
"channel": "C031SLFH6G0",
"text": "Plugin Extension changes in core Grafana *PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }} :information_source:",
"icon_emoji": ":grot:",
"username": "Plugin Extension Bot",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Plugin Extensions:* possible changes to extension points in core Grafana."
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>\n*Job:* <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Job>\n*Author:* ${{ github.event.pull_request.user.login }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*File(s) with changes:*\n- ${{ steps.check-changes.outputs.formatted_changed_files }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*What to do?*\nMake sure that:\n- All extension point ids start with `grafana/`\n- All extension point ids are exposed via <https://github.com/grafana/grafana/blob/main/packages/grafana-data/src/types/pluginExtensions.ts#L183|the `PluginExtensionPoints` enum in grafana-data>\n- Core Grafana is not registering extensions to extension points offered by plugins"
}
}
]
}
+1 -1
View File
@@ -1,7 +1,7 @@
name: Documentation CI
on:
pull_request:
branches: ["main", "release-*"]
branches: ["main"]
paths: ["docs/sources/**"]
workflow_dispatch:
@@ -1,42 +0,0 @@
name: Run e2e for dashboardNewLayouts
on:
pull_request:
branches:
- '**'
paths:
- 'e2e/dashboard-new-layouts/**'
- 'public/app/features/dashboard-scene/**'
env:
ARCH: linux-amd64
jobs:
dashboard-new-layouts-e2e:
runs-on: ubuntu-latest
continue-on-error: true
if: github.event.pull_request.draft == false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- 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-file: '.nvmrc'
cache: 'yarn'
- name: Install dependencies
run: yarn install --immutable
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f
with:
runTests: false
- name: Run dashboardNewLayouts e2e
run: yarn e2e:dashboard-new-layouts
@@ -12,7 +12,7 @@ jobs:
handle-ephemeral-instances:
if: ${{ github.event.issue.pull_request && (startsWith(github.event.comment.body, '/deploy-to-hg') || github.event.action == 'closed') && github.repository_owner == 'grafana' }}
runs-on:
labels: ubuntu-latest-16-cores
labels: ubuntu-x64-xlarge
continue-on-error: true
permissions:
# For commenting.
+1 -1
View File
@@ -22,7 +22,7 @@ jobs:
persist-credentials: false
- name: Set up Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: 'go.mod'
cache: true
+67
View File
@@ -139,3 +139,70 @@ jobs:
cache-dependency-path: 'yarn.lock'
- run: yarn install --immutable --check-cache
- run: yarn run betterer:ci
lint-frontend-api-clients:
permissions:
contents: read
id-token: write
# Run this workflow only for PRs from forks; if it gets merged into `main` or `release-*`,
# the `lint-frontend-api-clients-enterprise` workflow will run instead
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true
name: Verify API clients
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- run: yarn install --immutable --check-cache
- name: Generate API clients
run: |
extract_error_message='ERROR! API client generation failed!'
yarn generate-apis || (echo "${extract_error_message}" && false)
- name: Verify generated clients
run: |
uncommited_error_message="ERROR! API client generation has not been committed. Please run 'yarn generate-apis', commit the changes and push again."
file_diff="$(git diff ':!conf')"
if [ -n "$file_diff" ]; then
echo "$file_diff"
echo "${uncommited_error_message}"
exit 1
fi
lint-frontend-api-clients-enterprise:
permissions:
contents: read
id-token: write
# Run this workflow for non-PR events (like pushes to `main` or `release-*`) OR for internal PRs (PRs not from forks)
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
name: Verify API clients (enterprise)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- name: Setup Enterprise
uses: ./.github/actions/setup-enterprise
with:
github-app-name: 'grafana-ci-bot'
- run: yarn install --immutable --check-cache
- name: Generate API clients
run: |
extract_error_message='ERROR! API client generation failed!'
yarn generate-apis || (echo "${extract_error_message}" && false)
- name: Verify generated clients
run: |
uncommited_error_message="ERROR! API client generation has not been committed. Please run 'yarn generate-apis', commit the changes and push again."
file_diff="$(git diff ':!conf')"
if [ -n "$file_diff" ]; then
echo "$file_diff"
echo "${uncommited_error_message}"
exit 1
fi
+133
View File
@@ -0,0 +1,133 @@
name: Frontend performance tests
on:
schedule:
- cron: "0 * * * *" # Run hourly
workflow_dispatch: # Allow manual triggering
jobs:
performance-tests:
permissions:
contents: read
id-token: write
runs-on: ubuntu-x64-large
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
persist-credentials: false
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@62722333225a1fae03ae27a63d638f9bc2176edb #get-vault-secrets-v1.2.0
with:
repo_secrets: |
PROMETHEUS_URL=frontend_perf_tests:prometheus_push_url
PROMETHEUS_USER=frontend_perf_tests:prometheus_user
PROMETHEUS_TOKEN=frontend_perf_tests:prometheus_token
FSPERFBASELINE_USERNAME=frontend_perf_tests:fsperfbaseline_username
FSPERFBASELINE_PASSWORD=frontend_perf_tests:fsperfbaseline_password
FSPERF_USERNAME=frontend_perf_tests:fsperf_username
FSPERF_PASSWORD=frontend_perf_tests:fsperf_password
- name: Authenticate Docker
uses: grafana/shared-workflows/actions/login-to-gar@main
id: login-to-gar
with:
registry: 'us-docker.pkg.dev'
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Yarn install
run: yarn install --immutable
env:
PUPPETEER_SKIP_DOWNLOAD: true
CYPRESS_INSTALL_BINARY: 0
- name: Install Playwright browsers
run: yarn playwright install chromium --with-deps
- name: Run Playwright tests (fsperfbaseline)
id: pw-fsperfbaseline
continue-on-error: true
env:
PLAYWRIGHT_JSON_OUTPUT_NAME: ./fsperfbaseline-pw-results.json
METRICS_OUTPUT_PATH: ./fsperfbaseline-metrics.txt
GRAFANA_URL: https://fsperfbaseline.grafana-dev.net
GRAFANA_ADMIN_USER: ${{ env.FSPERFBASELINE_USERNAME }}
GRAFANA_ADMIN_PASSWORD: ${{ env.FSPERFBASELINE_PASSWORD }}
run: yarn e2e:playwright --grep @performance --reporter json
- name: Run Playwright tests (fsperf)
id: pw-fsperf
continue-on-error: true
env:
PLAYWRIGHT_JSON_OUTPUT_NAME: ./fsperf-pw-results.json
METRICS_OUTPUT_PATH: ./fsperf-metrics.txt
GRAFANA_URL: https://fsperf.grafana-dev.net
GRAFANA_ADMIN_USER: ${{ env.FSPERF_USERNAME }}
GRAFANA_ADMIN_PASSWORD: ${{ env.FSPERF_PASSWORD }}
run: yarn e2e:playwright --grep @performance --reporter json
- name: Bench report (fsperfbaseline)
id: bench-fsperfbaseline
if: always()
continue-on-error: true
run: |
docker run \
--rm \
--volume="./fsperfbaseline-pw-results.json:/pw-results.json" \
--volume="./fsperfbaseline-metrics.txt:/metrics.txt" \
-e PROMETHEUS_URL="$PROMETHEUS_URL" \
-e PROMETHEUS_USER="$PROMETHEUS_USER" \
-e PROMETHEUS_PASSWORD="$PROMETHEUS_TOKEN" \
us-docker.pkg.dev/grafanalabs-global/docker-grafana-bench-prod/grafana-bench:v0.6.0 report \
--grafana-url "http://fsperfbaseline.grafana-dev.net" \
--test-suite-name "FrontendPerfTests" \
--report-input playwright \
--report-output log \
--prometheus-metrics \
--run-metrics-file "/metrics.txt" \
--log-level DEBUG \
/pw-results.json
- name: Bench report (fsperf)
id: bench-fsperf
if: always()
continue-on-error: true
run: |
docker run \
--rm \
--volume="./fsperf-pw-results.json:/pw-results.json" \
--volume="./fsperf-metrics.txt:/metrics.txt" \
-e PROMETHEUS_URL="$PROMETHEUS_URL" \
-e PROMETHEUS_USER="$PROMETHEUS_USER" \
-e PROMETHEUS_PASSWORD="$PROMETHEUS_TOKEN" \
us-docker.pkg.dev/grafanalabs-global/docker-grafana-bench-prod/grafana-bench:v0.6.0 report \
--grafana-url "http://fsperf.grafana-dev.net" \
--test-suite-name "FrontendPerfTests" \
--report-input playwright \
--report-output log \
--prometheus-metrics \
--run-metrics-file "/metrics.txt" \
--log-level DEBUG \
/pw-results.json
- name: Check status
env:
FSPERF_PW_OUTCOME: ${{ steps.pw-fsperf.outcome }}
FSPERF_PW_BASELINE_OUTCOME: ${{ steps.pw-fsperfbaseline.outcome }}
FSPERF_BENCH_OUTCOME: ${{ steps.bench-fsperf.outcome }}
FSPERF_BENCH_BASELINE_OUTCOME: ${{ steps.bench-fsperfbaseline.outcome }}
run: |
echo "FSPERF_PW_OUTCOME: $FSPERF_PW_OUTCOME"
echo "FSPERF_PW_BASELINE_OUTCOME: $FSPERF_PW_BASELINE_OUTCOME"
echo "FSPERF_BENCH_OUTCOME: $FSPERF_BENCH_OUTCOME"
echo "FSPERF_BENCH_BASELINE_OUTCOME: $FSPERF_BENCH_BASELINE_OUTCOME"
if [[ "$FSPERF_PW_OUTCOME" != "success" || "$FSPERF_PW_BASELINE_OUTCOME" != "success" || "$FSPERF_BENCH_OUTCOME" != "success" || "$FSPERF_BENCH_BASELINE_OUTCOME" != "success" ]]; then
echo "One or more test steps failed."
exit 1
fi
+45 -3
View File
@@ -7,20 +7,62 @@ on:
- go.*
branches:
- main
- release-*.*.*
pull_request:
permissions:
contents: read
jobs:
lint-go:
detect-changes:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/go-lint.yml
go-fmt:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-go@v5
- uses: actions/setup-go@v5.5.0
with:
go-version-file: ./go.mod
- name: Run gofmt
run: |
GOFMT="$(go list -m -f '{{.Dir}}' | xargs -I{} sh -c 'test ! -f {}/.nolint && echo {}' | xargs gofmt -s -e -l 2>&1 | grep -v '/pkg/build/' || true)"
if [ -n "$GOFMT" ]; then
echo "Found files that are not gofmt'ed"
echo "Run 'gofmt -s -w .' or 'make gofmt' or install the pre-commit hook with 'make lefthook-install'"
echo "${GOFMT}"
exit 1
fi
lint-go:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-go@v5.5.0
with:
go-version-file: ./go.mod
- name: golangci-lint
+2
View File
@@ -12,4 +12,6 @@ on:
jobs:
verify-i18n:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
uses: grafana/grafana-github-actions/.github/workflows/verify-i18n.yml@main
+57 -7
View File
@@ -39,7 +39,7 @@ jobs:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets/v1.2.1 # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
@@ -48,10 +48,11 @@ jobs:
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
permission-issues: write
- name: Run Commands
uses: ./actions/commands
@@ -64,13 +65,13 @@ jobs:
permissions:
contents: read
id-token: write
if: github.repository == 'grafana/grafana' && github.event.issue.author_association != 'MEMBER' && github.event.issue.author_association != 'OWNER'
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets/v1.2.1 # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_triager path in Vault
repo_secrets: |
@@ -81,18 +82,29 @@ jobs:
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
permission-members: read
permission-issues: write
- name: Check if member of grafana org
id: check-if-grafana-org-member
continue-on-error: true
run: gh api https://api.github.com/orgs/grafana/members/${{ env.ACTOR }} >/dev/null 2>&1 && echo "is_grafana_org_member=true" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
ACTOR: ${{ github.actor }}
- name: Checkout
if: steps.check-if-grafana-org-member.outputs.is_grafana_org_member != 'true' && github.event.issue.author_association != 'MEMBER' && github.event.issue.author_association != 'OWNER'
uses: actions/checkout@v4 # v4.2.2
with:
persist-credentials: false
sparse-checkout: |
.github/workflows/auto-triager
- name: Send issue to the auto triager action
id: auto_triage
if: steps.check-if-grafana-org-member.outputs.is_grafana_org_member != 'true' && github.event.issue.author_association != 'MEMBER' && github.event.issue.author_association != 'OWNER'
uses: grafana/auto-triager@main # zizmor: ignore[unpinned-uses]
with:
token: ${{ steps.generate_token.outputs.token }}
@@ -117,3 +129,41 @@ jobs:
}
env:
SLACK_WEBHOOK_URL: ${{ env.AUTOTRIAGER_SLACK_WEBHOOK_URL }}
auto-label-internal-issues:
needs: [main]
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
permissions:
issues: write
id-token: write
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@get-vault-secrets/v1.2.1 # zizmor: ignore[unpinned-uses]
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_triager path in Vault
repo_secrets: |
GITHUB_APP_ID=plugins_platform_issue_triager_github_bot:app_id
GITHUB_APP_PRIVATE_KEY=plugins_platform_issue_triager_github_bot:app_pem
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e # v2.0.6
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
permission-members: read
- name: Check if member of grafana org
id: check-if-grafana-org-member
continue-on-error: true
run: gh api https://api.github.com/orgs/grafana/members/${{ env.ACTOR }} >/dev/null 2>&1 && echo "is_grafana_org_member=true" >> "$GITHUB_OUTPUT"
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
ACTOR: ${{ github.actor }}
- name: "Auto label internal issues"
if: steps.check-if-grafana-org-member.outputs.is_grafana_org_member == 'true' || github.event.issue.author_association == 'MEMBER' || github.event.issue.author_association == 'OWNER'
run: gh issue edit "$NUMBER" --add-label "$LABELS"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
NUMBER: ${{ github.event.issue.number }}
LABELS: internal
+2
View File
@@ -20,6 +20,8 @@ permissions: {}
jobs:
docs:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
name: Build & Verify Docs
runs-on: ubuntu-latest
@@ -3,7 +3,7 @@ name: "CodeQL for PR / javascript"
on:
workflow_dispatch:
pull_request:
branches: [main, release-*]
branches: [main]
paths:
- '**/*.js'
- '**/*.ts'
@@ -3,7 +3,7 @@ name: "CodeQL for PR / python"
on:
workflow_dispatch:
pull_request:
branches: [main, release-*]
branches: [main]
paths:
- '**/*.py'
@@ -1,7 +1,7 @@
name: "Update Go Workspace for Dependabot PRs"
on:
pull_request:
branches: [main, release-*]
branches: [main]
paths:
- .github/workflows/pr-dependabot-update-go-workspace.yml
- go.mod
@@ -17,7 +17,7 @@ permissions:
jobs:
update:
runs-on: "ubuntu-latest"
if: ${{ github.actor == 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository }}
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' && github.event.pull_request.head.repo.full_name == github.repository }}
continue-on-error: true
steps:
- name: Retrieve GitHub App secrets
@@ -45,7 +45,7 @@ jobs:
persist-credentials: false
- name: Set go version
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
+351 -40
View File
@@ -7,20 +7,28 @@ on:
- main
- release-*.*.*
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
# TODO: re-enable this before merging
# concurrency:
# group: ${{ github.workflow }}-${{ github.ref }}
# cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
permissions: {}
env:
ACTIONS_STEP_DEBUG: true
RUNNER_DEBUG: 1
jobs:
detect-changes:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.e2e }}
cloud_plugins_changed: ${{ steps.detect-changes.outputs.e2e-cloud-plugins }}
steps:
- uses: actions/checkout@v4
with:
@@ -39,28 +47,66 @@ jobs:
runs-on: ubuntu-latest-16-cores
permissions:
contents: read
outputs:
artifact: ${{ steps.artifact.outputs.artifact }}
steps:
- uses: actions/checkout@v4
with:
path: ./grafana
persist-credentials: false
- uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
# TODO: add a cleanup workflow to remove the cache when the PR is closed
# https://github.com/actions/cache/blob/main/tips-and-workarounds.md#force-deletion-of-caches-overriding-default-cache-eviction-policy
# TODO: maybe we could just use the cache to store the build, instead of uploading as an artifact?
- uses: actions/cache@v4
id: cache
with:
key: "build-grafana-${{ runner.os }}-${{ hashFiles('yarn.lock', 'public/*', 'packages/*', 'conf/*', 'pkg/**/*.go', '**/go.mod', '**/go.sum', '!**_test.go', '!**.test.ts', '!**.test.tsx', 'Dockerfile') }}"
path: |
build-dir
# If no cache hit, build Grafana
- name: Build Grafana
if: steps.cache.outputs.cache-hit != 'true'
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
version: 0.18.8
verb: run
args: go -C grafana run ./pkg/build/cmd artifacts -a targz:grafana:linux/amd64 --grafana-dir="${PWD}/grafana" > out.txt
- run: mv "$(cat out.txt)" grafana.tar.gz
- run: echo "artifact=grafana-e2e-${{github.run_number}}" >> "$GITHUB_OUTPUT"
args: go run ./pkg/build/cmd artifacts -a targz:grafana:linux/amd64 -a docker:grafana:linux/amd64 --grafana-dir="${PWD}" > out.txt
- name: Cat built artifact
if: steps.cache.outputs.cache-hit != 'true'
run: cat out.txt
- name: Move built artifacts
if: steps.cache.outputs.cache-hit != 'true'
run: |
mkdir -p build-dir
mv "$(grep 'grafana_.*tar.gz$' out.txt | grep -Fv -m1 'docker')" build-dir/grafana.tar.gz
mv "$(grep 'grafana_.*docker.tar.gz$' out.txt)" build-dir/grafana.docker.tar.gz
# If cache hit, validate the artifact is present
- name: Validate artifact
if: steps.cache.outputs.cache-hit == 'true'
run: |
if [ ! -f build-dir/grafana.tar.gz ]; then
echo "Error: build-dir/grafana.tar.gz not found in cache"
exit 1
fi
- name: Set artifact name
run: echo "artifact=grafana-server-${{github.run_number}}" >> "$GITHUB_OUTPUT"
id: artifact
- uses: actions/upload-artifact@v4
id: upload
- name: Upload grafana.tar.gz
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: ${{ steps.artifact.outputs.artifact }}
path: grafana.tar.gz
name: grafana-tar-gz
path: build-dir/grafana.tar.gz
- name: Upload grafana docker tarball
uses: actions/upload-artifact@v4
with:
retention-days: 1
name: grafana-docker-tar-gz
path: build-dir/grafana.docker.tar.gz
# TODO: we won't need this when we only have playwright
build-e2e-runner:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
@@ -75,7 +121,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
cache: ${{ !github.event.pull_request.head.repo.fork }}
@@ -93,6 +139,66 @@ jobs:
name: ${{ steps.artifact.outputs.artifact }}
path: e2e-runner
push-docker-image:
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == false
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
needs:
- build-grafana
steps:
- id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: '["grafana"]'
permissions: '{"checks": "write"}'
- uses: grafana/shared-workflows/actions/login-to-gar@main
id: login-to-gar
with:
registry: 'us-docker.pkg.dev'
environment: 'dev'
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
with:
name: grafana-docker-tar-gz
path: .
- name: Load & Push Docker image
env:
BUILD_ID: ${{ github.run_id }}
run: |
set -euo pipefail
LOADED_IMAGE_NAME=$(docker load -i grafana.docker.tar.gz | sed 's/Loaded image: //g')
VERSION=$(echo "${LOADED_IMAGE_NAME}" | cut -d ':' -f 2 | cut -d '-' -f 1)
DOCKER_IMAGE="us-docker.pkg.dev/grafanalabs-dev/docker-grafana-dev/grafana:${VERSION}-${BUILD_ID}"
docker tag "${LOADED_IMAGE_NAME}" "${DOCKER_IMAGE}"
docker push "${DOCKER_IMAGE}"
echo "IMAGE=${DOCKER_IMAGE}" >> "$GITHUB_ENV"
- name: Add PR status check
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
SHA: ${{ github.event.pull_request.head.sha }}
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/grafana/grafana/check-runs \
-f "name=${IMAGE}" \
-f "head_sha=${SHA}" \
-f 'status=completed' \
-f 'conclusion=neutral' \
-f 'output[title]=Docker image' \
-f "output[summary]=${IMAGE}" \
-f "output[text]=${IMAGE}"
run-e2e-tests:
needs:
- build-grafana
@@ -103,24 +209,18 @@ jobs:
include:
- suite: various-suite
path: e2e/various-suite
- suite: dashboards-suite
path: e2e/dashboards-suite
- suite: smoke-tests-suite
path: e2e/smoke-tests-suite
- suite: panels-suite
path: e2e/panels-suite
- suite: various-suite (old arch)
path: e2e/old-arch/various-suite
flags: --flags="--env DISABLE_SCENES=true"
flags: --flags="--env dashboardScene=false"
- suite: dashboards-suite (old arch)
path: e2e/old-arch/dashboards-suite
flags: --flags="--env DISABLE_SCENES=true"
flags: --flags="--env dashboardScene=false"
- suite: smoke-tests-suite (old arch)
path: e2e/old-arch/smoke-tests-suite
flags: --flags="--env DISABLE_SCENES=true"
flags: --flags="--env dashboardScene=false"
- suite: panels-suite (old arch)
path: e2e/old-arch/panels-suite
flags: --flags="--env DISABLE_SCENES=true"
flags: --flags="--env dashboardScene=false"
name: ${{ matrix.suite }}
runs-on: ubuntu-latest-8-cores
permissions:
@@ -132,7 +232,7 @@ jobs:
persist-credentials: false
- uses: actions/download-artifact@v4
with:
name: ${{ needs.build-grafana.outputs.artifact }}
name: grafana-tar-gz
- uses: actions/download-artifact@v4
with:
name: ${{ needs.build-e2e-runner.outputs.artifact }}
@@ -141,7 +241,6 @@ jobs:
- name: Run E2E tests
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
version: 0.18.8
verb: run
args: go run ./pkg/build/e2e --package=grafana.tar.gz
--suite=${{ matrix.path }}
@@ -161,6 +260,219 @@ jobs:
path: videos
retention-days: 1
run-storybook-test:
name: Verify Storybook (Playwright)
runs-on: ubuntu-latest
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: yarn install --immutable
- name: Install Playwright browsers
run: npx playwright install --with-deps
- name: Run Storybook and E2E tests
run: yarn e2e:playwright:storybook
run-playwright-tests:
needs:
- build-grafana
name: Playwright E2E tests (${{ matrix.shard }}/${{ matrix.shardTotal }})
runs-on: ubuntu-latest-8-cores
permissions:
contents: read
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3, 4, 5, 6, 7, 8]
shardTotal: [8]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/download-artifact@v4
with:
name: grafana-tar-gz
- name: Run E2E tests
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
verb: run
args: go run ./pkg/build/e2e-playwright --package=grafana.tar.gz --shard=${{ matrix.shard }}/${{ matrix.shardTotal }} --blob-dir=./blob-report
- uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: playwright-blob-${{ github.run_number }}-${{ matrix.shard }}
path: ./blob-report
retention-days: 1
run-azure-monitor-e2e:
if: needs.detect-changes.outputs.cloud_plugins_changed == 'true' && github.event.pull_request.head.repo.fork == false
runs-on: ubuntu-x64-large
needs:
- build-grafana
- detect-changes
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: grafana/shared-workflows/actions/login-to-gar@login-to-gar-v0.4.0
id: login-to-gar
with:
registry: "us-docker.pkg.dev"
environment: "dev"
- id: pull-docker-image
run: |
docker pull us-docker.pkg.dev/grafanalabs-dev/docker-oss-plugin-partnerships-dev/e2e-playwright:latest
- id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
repo_secrets: |
AZURE_SP_APP_ID=cpp-azure-resourcemanager-credentials:application_id
AZURE_SP_PASSWORD=cpp-azure-resourcemanager-credentials:application_secret
AZURE_TENANT=cpp-azure-resourcemanager-credentials:tenant_id
- id: deploy-resources
env:
AZURE_SP_APP_ID: ${{ env.AZURE_SP_APP_ID}}
AZURE_SP_PASSWORD: ${{ env.AZURE_SP_PASSWORD}}
AZURE_TENANT: ${{ env.AZURE_TENANT }}
NAME: ${{ github.ref_name }}
run: |
docker container run --name cpp-e2e-deploy -e AZURE_SP_APP_ID -e AZURE_SP_PASSWORD -e AZURE_TENANT -e PLAYWRIGHT_CI=true us-docker.pkg.dev/grafanalabs-dev/docker-oss-plugin-partnerships-dev/e2e-playwright:latest ./cpp-e2e/scripts/ci-run-playwright.sh azure "${NAME}" deploy
- id: extract-creds
# see https://github.com/grafana/oss-plugin-partnerships/blob/a77040d0456003cd258668b61d542dc7c75db5b5/e2e/scripts/deploy.sh#L25 for path
run: |
docker cp cpp-e2e-deploy:/outputs.json /tmp/outputs.json
- uses: actions/download-artifact@v4
with:
name: grafana-tar-gz
- name: Run E2E tests
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
verb: run
args: go run ./pkg/build/e2e-playwright --package=grafana.tar.gz --playwright-command="yarn e2e:playwright:cloud-plugins" --cloud-plugin-creds=/tmp/outputs.json
- name: Destroy resources
if: always() && steps.deploy-resources.outcome == 'success'
env:
AZURE_SP_APP_ID: ${{ env.AZURE_SP_APP_ID }}
AZURE_SP_PASSWORD: ${{ env.AZURE_SP_PASSWORD }}
AZURE_TENANT: ${{ env.AZURE_TENANT }}
NAME: ${{ github.ref_name }}
run: |
docker container run --name cpp-e2e-destroy -e AZURE_SP_APP_ID -e AZURE_SP_PASSWORD -e AZURE_TENANT us-docker.pkg.dev/grafanalabs-dev/docker-oss-plugin-partnerships-dev/e2e-playwright:latest ./cpp-e2e/scripts/ci-run-playwright.sh azure "${NAME}" destroy
required-playwright-tests:
needs:
- run-playwright-tests
- run-azure-monitor-e2e
- run-storybook-test
- build-grafana
if: ${{ !cancelled() }}
name: All Playwright tests complete
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Download blob reports from GitHub Actions Artifacts
uses: actions/download-artifact@v4
with:
path: blobs
pattern: playwright-blob-*
merge-multiple: true
- name: Check blob reports
run: |
if [ ! "$(ls -A ./blobs)" ]; then
echo "Error: No blob reports found in ./blobs directory"
echo "Did the Playwright tests run at all?"
exit 1
fi
echo "Found blob reports in ./blobs:"
ls -lah ./blobs
- name: Merge into HTML Report
run: npx playwright merge-reports --reporter html ./blobs
- name: Merge into JSON Report
env:
PLAYWRIGHT_JSON_OUTPUT_NAME: /tmp/playwright-results.json
run: npx playwright merge-reports --reporter=json ./blobs
- name: Bench report
run: |
docker run --rm \
--volume="/tmp/playwright-results.json:/home/bench/tests/playwright-results.json" \
us-docker.pkg.dev/grafanalabs-global/docker-grafana-bench-prod/grafana-bench:v0.5.1 report \
--grafana-url "http://localhost:3000" \
--grafana-version "CI- ${{ github.sha }}" \
--test-suite-name "FrontendCore" \
--report-input playwright \
--report-output log \
--log-level DEBUG \
/home/bench/tests/playwright-results.json
- name: Upload HTML report
id: upload-html
uses: actions/upload-artifact@v4
with:
name: playwright-html-${{ github.run_number }}
path: playwright-report
retention-days: 7
- name: Check test suites
id: check-jobs
uses: ./.github/actions/check-jobs
continue-on-error: true # Failure will be reported on Show test results step
with:
needs: ${{ toJson(needs) }}
failure-message: "One or more E2E test suites have failed"
success-message: "All E2E test suites completed successfully"
- name: Show test results
env:
FAILED: ${{ steps.check-jobs.outputs.any-failed }}
REPORT_URL: ${{ steps.upload-html.outputs.artifact-url }}
# sed removes the leading `../../src/` from the paths
run: |
npx playwright merge-reports --reporter list ./blobs | sed 's|\(\.\./\)\{1,\}src/|/|g'
if [ "$FAILED" = "true" ]; then
echo ""
echo "Download the test report from $REPORT_URL"
exit 1
fi
run-a11y-test:
needs:
- build-grafana
@@ -175,19 +487,17 @@ jobs:
persist-credentials: false
- uses: actions/download-artifact@v4
with:
name: ${{ needs.build-grafana.outputs.artifact }}
name: grafana-tar-gz
- name: Run PR a11y test
if: github.event_name == 'pull_request'
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
version: 0.18.8
verb: run
args: go run ./pkg/build/a11y --package=grafana.tar.gz
- name: Run non-PR a11y test
if: github.event_name != 'pull_request'
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
version: 0.18.8
verb: run
args: go run ./pkg/build/a11y --package=grafana.tar.gz --no-threshold-fail
@@ -197,6 +507,7 @@ jobs:
required-e2e-tests:
needs:
- run-e2e-tests
- build-grafana
# a11y test is not listed on purpose: it is not an important E2E test.
# It is also totally fine to fail right now.
# always() is the best function here.
@@ -207,13 +518,13 @@ jobs:
name: All E2E tests complete
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check test suites
env:
NEEDS: ${{ toJson(needs) }}
run: |
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
echo "$FAILURES"
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
exit 1
fi
echo "All OK!"
uses: ./.github/actions/check-jobs
with:
needs: ${{ toJson(needs) }}
failure-message: "One or more E2E test suites have failed"
success-message: "All E2E test suites completed successfully"
+90 -37
View File
@@ -10,8 +10,10 @@ permissions: {}
jobs:
detect-changes:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
name: Detect whether code changed
runs-on: ubuntu-latest
runs-on: ubuntu-x64-small
permissions:
contents: read
outputs:
@@ -31,64 +33,114 @@ jobs:
permissions:
contents: read
id-token: write
needs:
- detect-changes
# Run this workflow only for PRs from forks; if it gets merged into `main` or `release-*`,
# the `frontend-unit-tests-enterprise` workflow will run instead
needs: detect-changes
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-latest-8-cores
name: "Unit tests (${{ matrix.chunk }} / 8)"
runs-on: ubuntu-x64-large
name: "Unit tests (${{ matrix.shard }} / ${{ matrix.total }})"
strategy:
fail-fast: false
matrix:
chunk: [1, 2, 3, 4, 5, 6, 7, 8]
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
total: [16]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- run: yarn install --immutable --check-cache
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Yarn install
run: yarn install --immutable
env:
PUPPETEER_SKIP_DOWNLOAD: true
CYPRESS_INSTALL_BINARY: 0
- run: yarn run test:ci
env:
TEST_MAX_WORKERS: 2
TEST_SHARD: ${{ matrix.chunk }}
TEST_SHARD_TOTAL: 8
TEST_MAX_WORKERS: 4
TEST_SHARD: ${{ matrix.shard }}
TEST_SHARD_TOTAL: ${{ matrix.total }}
frontend-unit-tests-enterprise:
permissions:
contents: read
id-token: write
needs:
- detect-changes
# Run this workflow for non-PR events (like pushes to `main` or `release-*`) OR for internal PRs (PRs not from forks)
needs: detect-changes
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-latest-8-cores
name: "Unit tests (${{ matrix.chunk }} / 8)"
runs-on: ubuntu-x64-large
name: "Unit tests (${{ matrix.shard }} / ${{ matrix.total }})"
strategy:
fail-fast: false
matrix:
chunk: [1, 2, 3, 4, 5, 6, 7, 8]
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
total: [16]
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- name: Setup Enterprise
uses: ./.github/actions/setup-enterprise
with:
github-app-name: 'grafana-ci-bot'
- run: yarn install --immutable --check-cache
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Yarn install
run: yarn install --immutable
env:
# Switch from default hardened mode to faster mode for internal PRs
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
PUPPETEER_SKIP_DOWNLOAD: true
CYPRESS_INSTALL_BINARY: 0
- run: yarn run test:ci
env:
TEST_MAX_WORKERS: 2
TEST_SHARD: ${{ matrix.chunk }}
TEST_SHARD_TOTAL: 8
TEST_MAX_WORKERS: 4
TEST_SHARD: ${{ matrix.shard }}
TEST_SHARD_TOTAL: ${{ matrix.total }}
frontend-decoupled-plugin-tests:
needs:
- detect-changes
if: needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-x64-large
name: "Decoupled plugin tests"
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Yarn install
run: yarn install --immutable
env:
# Switch from default hardened mode to faster mode for internal PRs
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
PUPPETEER_SKIP_DOWNLOAD: true
CYPRESS_INSTALL_BINARY: 0
- run: yarn run plugin:test:ci
frontend-packages-unit-tests:
needs:
- detect-changes
if: needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-x64-large
name: "Packages unit tests"
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Yarn install
run: yarn install --immutable
env:
# Switch from default hardened mode to faster mode for internal PRs
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
PUPPETEER_SKIP_DOWNLOAD: true
CYPRESS_INSTALL_BINARY: 0
- run: yarn run packages:test:ci
# This is the job that is actually required by rulesets.
# We need to require EITHER the OSS or the Enterprise job to pass.
@@ -98,21 +150,22 @@ jobs:
needs:
- frontend-unit-tests
- frontend-unit-tests-enterprise
- frontend-decoupled-plugin-tests
- frontend-packages-unit-tests
# always() is the best function here.
# success() || failure() will skip this function if any need is also skipped.
# That means conditional test suites will fail the entire requirement check.
if: always()
name: All frontend unit tests complete
runs-on: ubuntu-latest
runs-on: ubuntu-x64-small
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check test suites
env:
NEEDS: ${{ toJson(needs) }}
run: |
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
echo "$FAILURES"
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
exit 1
fi
echo "All OK!"
uses: ./.github/actions/check-jobs
with:
needs: ${{ toJson(needs) }}
failure-message: "One or more unit test jobs have failed"
success-message: "All unit tests completed successfully"
+122 -12
View File
@@ -3,19 +3,32 @@ name: "Go Workspace Check"
on:
workflow_dispatch:
pull_request:
branches: [main, release-*]
paths:
- .github/workflows/pr-go-workspace-check.yml
- go.mod
- go.sum
- go.work
- go.work.sum
- '**/go.mod'
- '**/go.sum'
- '**.go'
branches: [main]
permissions: {}
jobs:
check:
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/pr-go-workspace-check.yml
check-workspace:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
name: Go Workspace Check
runs-on: ubuntu-latest
@@ -26,7 +39,7 @@ jobs:
persist-credentials: false
- name: Set go version
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
cache: false
go-version-file: go.mod
@@ -45,3 +58,100 @@ jobs:
fi
- name: Ensure Dockerfile contains submodule COPY commands
run: ./scripts/go-workspace/validate-dockerfile.sh
check-wire:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
name: Check Wire Changes
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set go version
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
cache: false
go-version-file: go.mod
- name: Setup Enterprise
if: github.event.pull_request.head.repo.fork == false
uses: ./.github/actions/setup-enterprise
- name: Calculate generated wire checksums
id: pre_gen_oss
run: |
OSS_WIRE_CHECKSUM="$(sha256sum pkg/server/wire_gen.go | cut -d' ' -f1)"
echo "wire_checksum=$OSS_WIRE_CHECKSUM" >> "$GITHUB_OUTPUT"
- name: Calculate generated enterprise wire checksums
id: pre_gen_enterprise
if: github.event.pull_request.head.repo.fork == false
run: |
ENTERPRISE_WIRE_CHECKSUM="$(sha256sum pkg/server/enterprise_wire_gen.go | cut -d' ' -f1)"
echo "wire_checksum=$ENTERPRISE_WIRE_CHECKSUM" >> "$GITHUB_OUTPUT"
- name: Generate Go files
run: make gen-go
- name: Check for generated file changes
run: |
OSS_WIRE_CHANGED=false
CURRENT_OSS_WIRE_CHECKSUM=$(sha256sum pkg/server/wire_gen.go | cut -d' ' -f1)
if [ "$CURRENT_OSS_WIRE_CHECKSUM" != "${{ steps.pre_gen_oss.outputs.wire_checksum }}" ]; then
OSS_WIRE_CHANGED=true
echo "Uncomitted changes detected in pkg/server/wire_gen.go"
fi
ENTERPRISE_WIRE_CHANGED=false
if [ -f "pkg/server/enterprise_wire_gen.go" ]; then
CURRENT_ENTERPRISE_WIRE_CHECKSUM=$(sha256sum pkg/server/enterprise_wire_gen.go | cut -d' ' -f1)
if [ "$CURRENT_ENTERPRISE_WIRE_CHECKSUM" != "${{ steps.pre_gen_enterprise.outputs.wire_checksum }}" ]; then
ENTERPRISE_WIRE_CHANGED=true
echo "Uncomitted changes detected in pkg/server/enterprise_wire_gen.go"
fi
fi
if [ "$OSS_WIRE_CHANGED" = "false" ] && [ "$ENTERPRISE_WIRE_CHANGED" = "false" ]; then
echo "No changes in generated Go files"
else
if [[ "${{ github.event.pull_request.head.repo.fork }}" == "false" ]]; then
echo "> !!! Please link Enterprise and run 'make gen-go', then commit the changes to both repositories."
else
echo "> !!! Please run 'make gen-go' and commit the changes."
fi
exit 1
fi
# This is the job that is actually required by rulesets.
# We want to only require one job instead of all the individual tests.
# Future work also allows us to start skipping some tests based on changed files.
required-go-workspace-check:
needs:
- check-workspace
- check-wire
# always() is the best function here.
# success() || failure() will skip this function if any need is also skipped.
# That means conditional jobs will fail the entire requirement check.
if: always()
name: All Go Workspace Checks complete
runs-on: ubuntu-latest
steps:
- name: Check the checks
env:
NEEDS: ${{ toJson(needs) }}
run: |
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
echo "$FAILURES"
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
exit 1
fi
echo "All OK!"
+2 -2
View File
@@ -3,7 +3,7 @@ name: "K8s Codegen Check"
on:
workflow_dispatch:
pull_request:
branches: [main, release-*]
branches: [main]
paths:
- "pkg/apis/**"
- "pkg/aggregator/apis/**"
@@ -24,7 +24,7 @@ jobs:
persist-credentials: false
- name: Set go version
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
with:
go-version-file: go.mod
+39
View File
@@ -0,0 +1,39 @@
name: Test Dockerfile
on:
pull_request:
jobs:
detect-changes:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend || steps.detect-changes.outputs.frontend || steps.detect-changes.outputs.dockerfile }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/pr-test-integration.yml
build-dockerfile:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
runs-on: ubuntu-x64-large-io
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
persist-credentials: false
- uses: docker/setup-docker-action@b60f85385d03ac8acfca6d9996982511d8620a19 # v4
- name: Build Dockerfile
run: make build-docker-full
+47 -17
View File
@@ -18,17 +18,39 @@ concurrency:
permissions: {}
jobs:
detect-changes:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/pr-test-integration.yml
sqlite:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
# We don't need more than this since it has to wait for the other tests.
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
1/4, 2/4, 3/4, 4/4,
]
fail-fast: false
name: Sqlite (${{ matrix.shard }})
runs-on: ubuntu-latest-8-cores
runs-on: ubuntu-x64-large-io
permissions:
contents: read
steps:
@@ -37,7 +59,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
cache: true
@@ -47,18 +69,22 @@ jobs:
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/pkgs-with-tests-named.sh -b TestIntegration | ./scripts/ci/backend-tests/shard.sh -N"$SHARD" -d-)"
go test -tags=sqlite -timeout=5m -run '^TestIntegration' "${PACKAGES[@]}"
go test -tags=sqlite -timeout=8m -run '^TestIntegration' "${PACKAGES[@]}"
mysql:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
1/16, 2/16, 3/16, 4/16,
5/16, 6/16, 7/16, 8/16,
9/16, 10/16, 11/16, 12/16,
13/16, 14/16, 15/16, 16/16,
]
fail-fast: false
name: MySQL (${{ matrix.shard }})
runs-on: ubuntu-latest-8-cores
runs-on: ubuntu-x64-large-io
permissions:
contents: read
env:
@@ -66,7 +92,7 @@ jobs:
MYSQL_HOST: 127.0.0.1
services:
mysql:
image: mysql:8.0.32
image: mysql:8.0.43
env:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: grafana_tests
@@ -81,7 +107,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
cache: true
@@ -93,18 +119,22 @@ jobs:
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/pkgs-with-tests-named.sh -b TestIntegration | ./scripts/ci/backend-tests/shard.sh -N"$SHARD" -d-)"
go test -p=1 -tags=mysql -timeout=5m -run '^TestIntegration' "${PACKAGES[@]}"
CGO_ENABLED=0 go test -p=1 -tags=mysql -timeout=8m -run '^TestIntegration' "${PACKAGES[@]}"
postgres:
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
1/16, 2/16, 3/16, 4/16,
5/16, 6/16, 7/16, 8/16,
9/16, 10/16, 11/16, 12/16,
13/16, 14/16, 15/16, 16/16,
]
fail-fast: false
name: Postgres (${{ matrix.shard }})
runs-on: ubuntu-latest-8-cores
runs-on: ubuntu-x64-large-io
permissions:
contents: read
env:
@@ -113,7 +143,7 @@ jobs:
POSTGRES_HOST: 127.0.0.1
services:
postgres:
image: postgres:12.3-alpine
image: postgres:17.6
env:
POSTGRES_USER: grafanatest
POSTGRES_PASSWORD: grafanatest
@@ -126,7 +156,7 @@ jobs:
with:
persist-credentials: false
- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
cache: true
@@ -138,7 +168,7 @@ jobs:
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/pkgs-with-tests-named.sh -b TestIntegration | ./scripts/ci/backend-tests/shard.sh -N"$SHARD" -d-)"
go test -p=1 -tags=postgres -timeout=5m -run '^TestIntegration' "${PACKAGES[@]}"
CGO_ENABLED=0 go test -p=1 -tags=postgres -timeout=8m -run '^TestIntegration' "${PACKAGES[@]}"
# This is the job that is actually required by rulesets.
# We want to only require one job instead of all the individual tests and shards.
+3 -2
View File
@@ -48,7 +48,7 @@ jobs:
path: ./artifact
- name: Log in to GCS
id: login-to-gcs
uses: grafana/shared-workflows/actions/login-to-gcs@login-to-gcs/v0.2.1
uses: grafana/shared-workflows/actions/login-to-gcs@main
with:
environment: ${{ inputs.environment }}
service_account: ${{ inputs.service-account }}
@@ -58,7 +58,7 @@ jobs:
find ./artifact -mindepth 2 -maxdepth 2 -exec cp -r {} out/ \;
ls -al out
- name: Upload artifacts
uses: grafana/shared-workflows/actions/push-to-gcs@push-to-gcs-v0.2.0
uses: grafana/shared-workflows/actions/push-to-gcs@main
with:
bucket: ${{ inputs.bucket }}
environment: ${{ inputs.environment }}
@@ -66,3 +66,4 @@ jobs:
path: out
bucket_path: ${{ inputs.bucket-path }}
service_account: ${{ inputs.service-account }}
gzip: false
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
persist-credentials: false
- name: "Setup Go"
uses: "actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639"
uses: "actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5"
with:
go-version-file: go.mod
+1 -1
View File
@@ -30,7 +30,7 @@ jobs:
persist-credentials: false
- name: "Setup Go"
uses: "actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639"
uses: "actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5"
with:
go-version-file: go.mod
+3 -1
View File
@@ -6,12 +6,14 @@ on:
push:
branches:
- main
- release-*.*.*
- release-*
permissions: {}
jobs:
reject-gh-secrets:
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
runs-on: ubuntu-latest
permissions:
contents: read
+3 -79
View File
@@ -56,7 +56,7 @@ jobs:
permissions:
contents: read
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up version (Release Branches)
@@ -140,7 +140,7 @@ jobs:
# The downside to this is that the frontend will be built for each one when it could be reused for all of them.
# This could be a future improvement.
include:
- name: linux-amd64 # publish-npm relies on this step building npm packages
- name: linux-amd64
artifacts: targz:grafana:linux/amd64,deb:grafana:linux/amd64,rpm:grafana:linux/amd64,docker:grafana:linux/amd64,docker:grafana:linux/amd64:ubuntu,npm:grafana,storybook
verify: true
- name: linux-arm64
@@ -169,7 +169,7 @@ jobs:
verify: true
steps:
- uses: grafana/shared-workflows/actions/dockerhub-login@dockerhub-login/v1.0.2
- uses: actions/checkout@v5
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up QEMU
@@ -197,7 +197,6 @@ jobs:
name: artifacts-${{ matrix.name }}
path: ${{ steps.build.outputs.dist-dir }}
retention-days: 1
publish-artifacts:
name: Upload artifacts
uses: grafana/grafana/.github/workflows/publish-artifact.yml@main
@@ -212,7 +211,6 @@ jobs:
run-id: ${{ github.run_id }}
bucket-path: ${{ needs.setup.outputs.version }}_${{ github.run_id }}
environment: prod
publish-dockerhub:
if: github.ref_name == 'main'
permissions:
@@ -270,77 +268,3 @@ jobs:
docker manifest push grafana/grafana:main-ubuntu
docker manifest push "grafana/grafana-dev:${VERSION}"
docker manifest push "grafana/grafana-dev:${VERSION}-ubuntu"
dispatch-npm-canaries:
if: github.ref_name == 'main'
name: Dispatch publish NPM canaries
permissions:
actions: write
contents: read
runs-on: ubuntu-x64-small
needs:
- setup
steps:
- name: Dispatch action
env:
GRAFANA_COMMIT: ${{ needs.setup.outputs.grafana-commit }}
VERSION: ${{ needs.setup.outputs.version }}
BUILD_ID: ${{ github.run_id }}
GH_TOKEN: ${{ github.token }}
run: |
gh workflow run release-npm.yml \
--repo grafana/grafana \
--ref main \
--field grafana_commit="$GRAFANA_COMMIT" \
--field version="$VERSION" \
--field build_id="$BUILD_ID"\
--field version_type="canary"
# notify-pr creates (or updates) a comment in a pull request to link to this workflow where the release artifacts are
# being built.
notify-pr:
runs-on: ubuntu-x64-small
permissions:
contents: read
id-token: write
needs:
- setup
steps:
- id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: '["grafana"]'
permissions: '{"issues": "write", "pull_requests": "write", "contents": "read"}'
- name: Find PR
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
GRAFANA_COMMIT: ${{ needs.setup.outputs.grafana-commit }}
run: echo "ISSUE_NUMBER=$(gh api "/repos/grafana/grafana/commits/${GRAFANA_COMMIT}/pulls" | jq -r '.[0].number')" >> "$GITHUB_ENV"
- name: Find Comment
uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3
id: fc
with:
issue-number: ${{ env.ISSUE_NUMBER }}
comment-author: 'grafana-delivery-bot[bot]'
body-includes: GitHub Actions Build
token: ${{ steps.generate_token.outputs.token }}
- name: Create or update comment
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4
with:
token: ${{ steps.generate_token.outputs.token }}
comment-id: ${{ steps.fc.outputs.comment-id }}
issue-number: ${{ env.ISSUE_NUMBER }}
body: |
:rocket: Your submission is now being built and packaged.
- [GitHub Actions Build](https://github.com/grafana/grafana/actions/runs/${{ github.run_id }})
- Version: ${{ needs.setup.outputs.version }}
edit-mode: replace
+2 -2
View File
@@ -80,7 +80,7 @@ jobs:
create_security_branch_grafana:
name: Create security branch (Grafana Security Mirror)
needs: setup
uses: ./.github/workflows/create-security-branch.yml
uses: grafana/grafana/.github/workflows/create-security-branch.yml@main
with:
release_branch: ${{ needs.setup.outputs.release_branch }}
security_branch_number: "01"
@@ -88,7 +88,7 @@ jobs:
create_security_branch_enterprise:
name: Create security branch (Enterprise)
needs: setup
uses: ./.github/workflows/create-security-branch.yml
uses: grafana/grafana/.github/workflows/create-security-branch.yml@main
with:
release_branch: ${{ needs.setup.outputs.release_branch }}
security_branch_number: "01"
-147
View File
@@ -1,147 +0,0 @@
name: Release NPM packages
run-name: Publish NPM ${{ inputs.version_type }} ${{ inputs.version }}
on:
workflow_call:
inputs:
grafana_commit:
description: 'Grafana commit SHA to build against'
required: true
type: string
version:
description: 'Version to publish as'
required: true
type: string
build_id:
description: 'Run ID from the original release-build workflow'
required: true
type: string
version_type:
description: 'Version type (canary, nightly, stable)'
required: true
type: string
workflow_dispatch:
inputs:
grafana_commit:
description: 'Grafana commit SHA to build against'
required: true
version:
description: 'Version to publish as'
required: true
build_id:
description: 'Run ID from the original release-build workflow'
required: true
version_type:
description: 'Version type (canary, nightly, stable)'
required: true
permissions: {}
jobs:
# If called with version_type 'canary' or 'stable', build + publish to NPM
# If called with version_type 'nightly', just tag the given version with nightly tag. It was already published by the canary build.
publish:
name: Publish NPM packages
runs-on: github-hosted-ubuntu-x64-small
if: inputs.version_type == 'canary' || inputs.version_type == 'stable'
permissions:
contents: read
id-token: write
steps:
- name: Info
env:
GITHUB_REF: ${{ github.ref }}
GRAFANA_COMMIT: ${{ inputs.grafana_commit }}
run: |
echo "GRAFANA_COMMIT: $GRAFANA_COMMIT"
echo "github.ref: $GITHUB_REF"
- name: Checkout workflow ref
uses: actions/checkout@v4
with:
persist-credentials: false
fetch-depth: 100
fetch-tags: false
# this will fail with "{commit} is not a valid commit" if the commit is valid but
# not in the last 100 commits.
- name: Verify commit is in workflow HEAD
env:
GIT_COMMIT: ${{ inputs.grafana_commit }}
run: ./.github/workflows/scripts/validate-commit-in-head.sh
shell: bash
- name: Map version type to NPM tag
id: npm-tag
env:
VERSION: ${{ inputs.version }}
VERSION_TYPE: ${{ inputs.version_type }}
REFERENCE_PKG: "@grafana/runtime"
run: |
TAG=$(./.github/workflows/scripts/determine-npm-tag.sh)
echo "NPM_TAG=$TAG" >> "$GITHUB_OUTPUT"
shell: bash
- name: Checkout build commit
uses: actions/checkout@v4
with:
persist-credentials: false
ref: ${{ inputs.grafana_commit }}
- name: Setup Node
uses: ./.github/actions/setup-node
# Trusted Publishing is only available in npm v11.5.1 and later
- name: Update npm
run: npm install -g npm@^11.5.1
- name: Install dependencies
run: yarn install --immutable
- name: Typecheck packages
run: yarn run packages:typecheck
- name: Version, build, and pack packages
env:
VERSION: ${{ inputs.version }}
run: |
yarn run packages:build
yarn lerna version "$VERSION" \
--exact \
--no-git-tag-version \
--no-push \
--force-publish \
--yes
yarn run packages:pack
- name: Debug packed files
run: tree -a ./npm-artifacts
- name: Validate packages
run: ./scripts/validate-npm-packages.sh
- name: Debug OIDC Claims
uses: github/actions-oidc-debugger@2e9ba5d3f4bebaad1f91a2cede055115738b7ae8
with:
audience: '${{ github.server_url }}/${{ github.repository_owner }}'
- name: Publish packages
env:
NPM_TAG: ${{ steps.npm-tag.outputs.NPM_TAG }}
run: ./scripts/publish-npm-packages.sh --dist-tag "$NPM_TAG" --registry 'https://registry.npmjs.org/'
# TODO: finish this step
tag-nightly:
name: Tag nightly release
runs-on: github-hosted-ubuntu-x64-small
if: inputs.version_type == 'nightly'
steps:
- name: Checkout workflow ref
uses: actions/checkout@v4
with:
persist-credentials: false
# TODO: tag the given release with nightly
+2 -3
View File
@@ -136,7 +136,7 @@ jobs:
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- uses: actions/setup-go@v5
- uses: actions/setup-go@v5.5.0
with:
go-version-file: go.mod
- name: Configure git user
@@ -198,7 +198,6 @@ jobs:
if: ${{ inputs.bump == true || inputs.bump == 'true' }}
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
with:
version: 0.18.8
verb: run
args: go run -C .grafana-main ./pkg/build/actions/bump-version -version="patch"
@@ -209,7 +208,7 @@ jobs:
if: ${{ inputs.bump == true || inputs.bump == 'true' }}
run: |
git add package.json lerna.json yarn.lock packages public
test -e e2e/test-plugins && git add e2e/test-plugins
test -e e2e-playwright/test-plugins && git add e2e-playwright/test-plugins
git commit -m "Update version to $VERSION"
- name: Git push
@@ -29,7 +29,7 @@ jobs:
with:
persist-credentials: false
- name: Pin Go version to mod file
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: 'go.mod'
cache: true
@@ -51,7 +51,7 @@ jobs:
run: yarn install --immutable
- name: Install Cypress dependencies
if: steps.cache-node-modules.outputs.cache-hit != 'true'
uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c
with:
runTests: false
- name: Cache Grafana Build and Dependencies
@@ -64,7 +64,7 @@ jobs:
tools/
public/
conf/
e2e/test-plugins/
e2e-playwright/test-plugins/
devenv/
key: ${{ runner.os }}-grafana-${{ hashFiles('go.mod', 'package-lock.json', 'Makefile', 'pkg/storage/**/*.go', 'public/app/features/search/**/*.ts', 'public/app/features/search/**/*.tsx') }}
# only rebuild grafana if search files have changed ( or dependencies )
@@ -116,7 +116,7 @@ jobs:
tools/
public/
conf/
e2e/test-plugins/
e2e-playwright/test-plugins/
devenv/
key: ${{ runner.os }}-grafana-${{ hashFiles('go.mod', 'package-lock.json', 'Makefile', 'pkg/storage/**/*.go', 'public/app/features/search/**/*.ts', 'public/app/features/search/**/*.tsx') }}
- name: Set the step name
+4 -7
View File
@@ -4,7 +4,6 @@ on:
push:
branches:
- main
- release-*.*.*
pull_request:
branches:
- '**'
@@ -14,7 +13,7 @@ env:
jobs:
dashboard-schema-v2-e2e:
runs-on: ubuntu-latest
runs-on: ubuntu-latest-8-cores
continue-on-error: true
if: github.event.pull_request.draft == false
steps:
@@ -23,7 +22,7 @@ jobs:
with:
persist-credentials: false
- name: Pin Go version to mod file
uses: actions/setup-go@v5
uses: actions/setup-go@v5.5.0
with:
go-version-file: 'go.mod'
- run: go version
@@ -33,12 +32,10 @@ jobs:
cache: 'yarn'
- name: Install dependencies
run: yarn install --immutable
- name: Install Playwright browsers
run: yarn playwright install --with-deps chromium
- name: Build grafana
run: make build
- name: Install Cypress dependencies
uses: cypress-io/github-action@108b8684ae52e735ff7891524cbffbcd4be5b19f
with:
runTests: false
- name: Run dashboard scenes e2e
run: yarn e2e:schema-v2 || echo "Test failed but marking as success since schema V2 is behind a feature flag and should not block PRs"
@@ -1,66 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
fail() { echo "Error: $*" >&2; exit 1; }
# Ensure required variables are set
if [[ -z "${REFERENCE_PKG}" || -z "${VERSION_TYPE}" || -z "${VERSION}" ]]; then
fail "Missing required environment variables: REFERENCE_PKG, VERSION_TYPE, VERSION"
fi
semver_cmp () {
IFS='.' read -r -a arr_a <<< "$1"
IFS='.' read -r -a arr_b <<< "$2"
for i in 0 1 2; do
local aa=${arr_a[i]:-0}
local bb=${arr_b[i]:-0}
# shellcheck disable=SC2004
if (( 10#$aa > 10#$bb )); then echo gt; return 0; fi
if (( 10#$aa < 10#$bb )); then echo lt; return 0; fi
done
echo "eq"
}
STABLE_REGEX='^([0-9]+)\.([0-9]+)\.([0-9]+)$' # x.y.z
PRE_REGEX='^([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)$' # x.y.z-123456
# Validate that the VERSION matches VERSION_TYPE
# - stable must be x.y.z
# - nightly/canary must be x.y.z-123456
case "$VERSION_TYPE" in
stable)
[[ $VERSION =~ $STABLE_REGEX ]] || fail "For 'stable', version must match x.y.z" ;;
nightly|canary)
[[ $VERSION =~ $PRE_REGEX ]] || fail "For '$VERSION_TYPE', version must match x.y.z-123456" ;;
*)
fail "Unknown version_type '$VERSION_TYPE'" ;;
esac
# Extract major, minor from VERSION
IFS=.- read -r major minor patch _ <<< "$VERSION"
# Determine NPM tag
case "$VERSION_TYPE" in
canary) TAG="canary" ;;
nightly) TAG="nightly" ;;
stable)
# Use npm dist-tag "latest" as the reference
LATEST="$(npm view --silent "$REFERENCE_PKG" dist-tags.latest 2>/dev/null || true)"
echo "Latest for $REFERENCE_PKG is ${LATEST:-<none>}" >&2
if [[ -z ${LATEST:-} ]]; then
TAG="latest" # first ever publish
else
case "$(semver_cmp "$VERSION" "$LATEST")" in
gt) TAG="latest" ;; # newer than reference -> latest
lt|eq) TAG="v${major}.${minor}-latest" ;; # older or equal -> vX.Y-latest
esac
fi
;;
esac
echo "Resolved NPM_TAG=$TAG (VERSION=$VERSION, current latest=${LATEST:-none})" 1>&2 # stderr
printf '%s' "$TAG"

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