Compare commits

...

3774 Commits

Author SHA1 Message Date
Kristina Durivage 74dfaa4b7c Add tests for transformation row header 2025-10-07 16:17:47 -05:00
Kristina Durivage 96b2ed367e Add refID tests to affected transformations 2025-10-07 12:44:53 -05:00
Kristina Durivage 09b7d424d4 Merge branch 'main' into kristina/static-transform-refIds 2025-10-07 10:07:52 -05:00
Alex Khomenko 66fc694718 Provisioning: Show configured branch in move drawer (#112005) 2025-10-07 15:36:49 +02:00
Ieva ee4532925b Docs: Set role global property to false in TF role provisioning example (#112099)
Set role global property to false in TF role provisioning example
2025-10-07 13:00:17 +01:00
Andrej Ocenas 48930ceef0 Folder API: Lock delete action to legacy API (#112102)
* Disable new api for delete

* update test
2025-10-07 13:48:58 +02:00
Anna Urbiztondo 96b5f63711 Docs: Git Sync - Tim's feedback (#112098)
* Feedback

* Prettier
2025-10-07 13:43:36 +02:00
Gilles De Mey 488eafe02e Alerting: Triage (#110339)
* WIP column layout

* add columns on top of splitter

* small layout fixes

* WIP grouped items

* WIP

* WIP

* WIP

* small refactoring

* some more WIP

* WIP

* refactoring some functions

* use "unknown" state intstead of assuming "normal" state

* Add groupBy filter

* Add label-based filter

* Add basic displaying of grouped data

* lint

* Fix timeline alertstate selection

* Add AlertInstanceScene for displaying instances

* Add WorkbenchContext to pass column width and domain deeper into the tree

* Update single rule query, merge pending and firing metrics into one instance

* use area chart for summary

* Add not working rule summary

* step interpolation for summary chart

* Add rule state chart

* Update panel settings for alert rule summary

* Reactify SummaryChart component

* WIP react version

* Reactify AlertRuleDetails component

* Reactify AlertRuleSummary component

* refactor summary chart a bit

* clean up – Reactify

* set min y-scale for rule summary

* remove macro code

* small fixes

* remove line width for summary

* attempt to make the instances a native chart

* native chart for instances part 2

* sync cursor crosshair

* extract instance row into separate component

* Add minHeight for rows without labels

* Add Summary component

* Move scrolling to rows container

* Add lazy rendering of rows

* Use default page size

* minor layout tweaks

* typescript fixes

* simplify the grouping / data frame processing

* big cleanup of code

* split up rows components

* further split row components

* moving files around

* use text summary stats

* link to alert rule

* various eslint and typescript fixes

* do not compute common labels for single series

* small UI updates

* add depth support and colored labels

* simplify with props type

* Reuse Workbenck query to populate alert rule summaries

* add custom folder row component and set as default

* small UI tweaks

* remove unused sticky

* Hide triage page behind a feature toggle

* Add loading states to workbench and alert rows

* Update translations

* 

* Fix lint errors

* Fix EditorColumnHeader rendering, remove unused code

* Update translations

* Move EditorColumnHeader to shared components directory

* add type string for union discrimination of row

---------

Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
2025-10-07 13:39:13 +02:00
Tom Ratcliffe f5f34cd587 Chore: Use PermissionLevel instead of PermissionLevelString enum (#111399) 2025-10-07 12:19:57 +01:00
Matias Chomicki a64af68955 OTel logs: Move OTel augmented attributes out of the log line to a field (#110901)
* OTel: make attributes a field

* Logs: normalize field names

* chore: remove test

* Translations

* Cleaner approach compatible with "show original line"

* Revert "Cleaner approach compatible with "show original line""

This reverts commit e27c3de4ede5538f12cc8fc27d0aee06906c7792.

* formats: remove scope name from default attributes

* Logs: sync panel state once

* otel formatting: exclude dashboards

* Fix dashboard exclusion

* LogsMetaRow: introduce new reset option for OTel logs

* Translations

* Update test

* Rename constant

* processing: only add otel attributes field for otel logs

* Implement defaultDisplayedFields

* Update translations

* Logs: initialize displayed fields with panel state

* Address lint issues

* LogLine: fix log attributes field title

* Optimization: memo HighlightedLogRenderer

* Otel log attributes: highlight when rendering

* getOtelAttributesField: update

* OTEL_RESOURCE_ATTRS_REGEX: exclude cluster, namespace, and pod

* DisplayedFields: respect syntaxHighlighting state

* chore: revert experimental changes

* chore: use argument

* chore: remove comment

* formats: update tests

* LogList: add integration test

* LogLine: more integration tests

* LogList: more integration tests

* LogList: even more tests

* LogList: add assertion

* processing: update tests

* formats: more tests

* LogLabels: update test

* LogLine: update test

* Prettier

* Logs Panel: add dashboard option

* Translations

* Table: exclude generated field

* LogListContext: invert order of effects

* Explore: remove unnecessary effect

* Explore: unify displayed fields effects

* Remove log

* Rename field

* Update supressions
2025-10-07 11:19:27 +00:00
Tom Ratcliffe 2cbf2c071a Scopes: Remove a rule of hooks warning from scopes (#112103) 2025-10-07 11:14:36 +00:00
Ben Darlow 8f54a15d8b Themes: Fix internal border radius of MenuItem to match new outer border radius (#112053)
* Fix internal border radius of MenuItem to match new outer border radius
* Add design tokens for Menu border radius and padding to createComponents
2025-10-07 12:12:09 +01:00
Tobias Skarhed 9502e23423 ErrorBoundary: Report specific boundary type to Faro (#112071)
* Add error boundary type to faro reporting in ErrorBoundary

* Add error boundary name prop

* Add boundary name to ErrorBoundaryAlert
2025-10-07 09:58:14 +00:00
Matheus Macabu 792853df91 Scopes: Move types to its own module (#111556) 2025-10-07 11:31:03 +02:00
Misi 53f4803e98 Auth: Fix render user OAuth passthrough (#111636)
* devenv: fix volumes section when sources don't contain one

* wip

* Working correctly with improvedExternalSessionHandling on

* Remove not needed lines

* Working with the old flow, tests

* Handle compatibility with the feature toggle, tests wip

* Tests

* Cleanup

* Address feedback

* Align tests

* Add comment

* Fix issue with session removal after the invalidation of tokens

* Remove commented out code

* clean up
2025-10-07 10:52:43 +02:00
Marcus Andersson 3fea6e65f7 PluginExtensions: Adding extension point id to params passed to the content provider. (#111976)
Added extension point id to the helpers so you can identify which extension triggered the event.
2025-10-07 10:39:22 +02:00
Gabriel MABILLE 26e147d01f AuthZ: Fix cacheHit computation (#112088)
* AuthZ: Fix cacheHit computation

* Remove the ok bool
2025-10-07 10:12:14 +02:00
maicon 2c5ccd3283 Unistore: ignore name when validating collection keys (#112086)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-10-07 06:45:59 +00:00
Anna Urbiztondo 9255b69a42 Docs: Last note for GitSync for ObsCon (#112084)
Last note!
2025-10-07 04:41:23 +00:00
grafana-pr-automation[bot] dcce00ae69 I18n: Download translations from Crowdin (#112081)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-07 00:37:39 +00:00
Collin Fingar 0de6d103c2 Saved Queries: Remove datasource autoselection when opening (#111967)
* Saved Queries: Remove datasource autoselection when opening

* Remove auto filtering on query save
2025-10-06 15:31:24 -04:00
Ryan McKinley 22b88988a4 Stars: include query history (#111979) 2025-10-06 21:08:10 +03:00
Alyssa Joyner 19fc24d35e Update CollapsableSection component (#111125) 2025-10-06 12:06:32 -06:00
Andrew Hackmann 96c24bc64c Prometheus: Prom Azure and AWS auth with mig info (#111142)
* docs for prom type mig

* andreas feedback

* update scripts and add forward settings issue

* make links internal

* prettier

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

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

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

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

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

* Apply suggestions from code review

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

* feedback

* prettier

* clarify the revert script is only for self-hosted

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

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

---------

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-10-06 11:31:36 -05:00
Alex Spencer 92990790ba Transformations: Add error message during datasource or query error (#110969)
* feat: add message for fields during datasource or query error

* chore: remove unused Select import

* chore: i18n

* chore: fix tests

* chore: empty commit to trigger build

* chore: prune suppressions

* chore: feedback

* chore: i18n extract
2025-10-06 08:13:17 -07:00
Larissa Wandzura a5ee212440 Docs: Fixed a broken link on the Intro to Exemplars page (#112025)
fixed broken link

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-10-06 10:04:02 -05:00
Anna Urbiztondo 6e47fefc63 Docs: OaC/Git Sync updates for Obs Con (#111792)
* Changes for Obs Con

* Edits

* Minor renderer tweak

* Renderer, caution notes

* Prettier

* Public

* Update docs/sources/observability-as-code/provision-resources/git-sync-setup.md

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

* Jack's feedback

* Link text

* Messaging

* Notes

* Prettier

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-10-06 17:02:14 +02:00
Zoltán Bedi 510b86450c PostgreSQL: Refactor feature toggle handling for standalone mode (#112061) 2025-10-06 16:57:32 +02:00
Josh Hunt 98f293e229 OpenFeature: Create basic frontend client + example usage (#110587)
* initial basic OpenFeature client for datasource class

* add dep

* update, use a wrapping function to enforce types

* move init OF to grafana-runtime

* docs

* Fix circular dependency causing tests to fail

* codeowners

* use toggle in datasourcewithbackend

* Fix CUJs group-by test

* Comments

* update docs, make default value mandatory

* revert using for queryServiceFromUI toggle
2025-10-06 14:22:00 +00:00
Dave Henderson 8ec162afec chore(tracing): Initialize tracing early, before wire (#112007)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-06 13:44:13 +00:00
Michael Lamb a6f92d4487 Update index.md (#112028) 2025-10-06 07:33:12 -05:00
Tito Lins 7e63a01a79 alerting: omit optional notification settings fields (#112049) 2025-10-06 14:23:21 +02:00
Hugo Kiyodi Oshiro 548e739d75 Plugins: Add feature highlights tabs (#110712) 2025-10-06 08:46:47 -03:00
Dominik Prokop 825f8fc7ff Dashboard migrations: Fix span: 0 bug and panel ordering in v16 dashboard migration (#112051)
Fix span: 0 bug and panel ordering in v16 dashboard migration

Fix span: 0 handling to match frontend behavior by defaulting to DEFAULT_PANEL_SPAN.
Fix panel ordering issue by using stable sort instead of unstable sort.
Fix collapsed property handling to only set when input row has collapse property.
Add comprehensive test cases for span: 0 bug and collapsed property behavior.
Add sanitized test input file for span: 0 demo dashboard with generic values instead of internal Grafana infrastructure references.

All backend migration tests and frontend comparison tests pass.
2025-10-06 13:29:33 +02:00
sudoice 2ad00f99bf Transformations: Hide "Match all/any" conditions for less than two filters (#109754)
Hide "Match all/any" conditions for less than two filters
2025-10-06 12:14:56 +02:00
Gabriel MABILLE d6e362ade3 Server: Add possibility to register build-specific targets (#111988)
* Server: Add possibility to register Enterprise targets

* wip authz service

* Restore vscode

* Better comment

* Better comment v2'
2025-10-06 11:50:02 +02:00
Peter Štibraný 2d801eed3c Remove unused arguments from ResourceIndex and SearchBackend interfaces. (#112043)
* Remove unused arguments from ResourceIndex and SearchBackend interfaces.
2025-10-06 11:47:52 +02:00
Hugo Häggmark 975c3b3f58 Chore: removes localizationForPlugins feature toggle (#111726) 2025-10-06 11:12:13 +02:00
Hugo Häggmark 82d6fe5914 Docs: Update language description in plugin schema (#112040) 2025-10-06 10:34:16 +02:00
Matheus Macabu 601f7cda34 CloudMigrations: Increase timeout of eventual checks and add debug message in flaky test (#112042)
* CloudMigrations: Remove unused param in test setup

* CloudMigrations: Increase timeout of eventual checks and add debug message
2025-10-06 10:31:30 +02:00
Peter Štibraný a44af81082 Unified storage search: Introduce min index update interval (#111978)
* Don't update index more often than specified index_min_update_interval.

* Add artificial sleep at the end of write operations.

* Improve test: check for number of update calls, make diff check less flaky.

* Make test less flaky by allowing for higher diff variance.

* Make test less flaky by allowing for expected update calls variance.
2025-10-06 10:02:03 +02:00
Alexander Akhmetov cd889fef9b Alerting: Keep extra configurations on main config update (#106958) 2025-10-06 09:28:38 +02:00
Tania 843956e795 OpenFeature: Add tracing to feature flags service (#111895)
* Add tracing to feature flags service

* Apply review feedback

* Apply suggestion from @hairyhenderson

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

* Apply suggestion from @hairyhenderson

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

* Apply suggestion from @hairyhenderson

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

* Apply suggestion from @hairyhenderson

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

* Apply suggestion from @hairyhenderson

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

* Apply suggestion from @hairyhenderson

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

* Fix issues

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-10-06 09:16:29 +02:00
Hugo Häggmark 64a483d112 Chore: Adds workflow that triggers plugin schema types update (#111593) 2025-10-06 08:29:12 +02:00
Kristina Durivage 7622a81158 display generated refID if exists, but do not persist it 2025-10-05 19:42:49 -05:00
Kristina Durivage 7454997166 Merge branch 'main' into kristina/static-transform-refIds 2025-10-05 09:09:19 -05:00
Stephanie Hingtgen ff5b470f40 DeleteHooks: Fix logging (#112033) 2025-10-05 13:16:09 +04:00
Stephanie Hingtgen ce50f2cf61 Revert "Secrets: Refactor data_key_id out of the encoded secure value payload" (#112034)
Revert "Secrets: Refactor data_key_id out of the encoded secure value payload…"

This reverts commit acad92864e.
2025-10-05 09:53:43 +03:00
Stephanie Hingtgen 7188a6ac33 Provisioning: Fix pull stuck in pending (#112032) 2025-10-04 21:53:31 +00:00
Stephanie Hingtgen d5d1851bc1 Provisioning: Cleanup folders properly with webhooks (#112031) 2025-10-04 21:17:42 +00:00
Ryan McKinley 2486dba881 Provisioning: use kind consistently for provisioning stats (#111977) 2025-10-04 09:02:02 -05:00
Austin Pond 99312a7582 Apps: Update grafana-app-sdk to v0.46.0 (#112021)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-10-04 09:33:10 +00:00
Jeff Levin dc528cef0d User API: add missing uid to user look up api (#112017) 2025-10-04 12:24:13 +03:00
Stephanie Hingtgen 56b136a8de Permission Creator: Remove user type check (#112024) 2025-10-04 08:30:08 +03:00
grafana-pr-automation[bot] 557cc2941b I18n: Download translations from Crowdin (#112027)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-04 00:37:27 +00:00
Costa Alexoglou 45fe8c6612 fix: version migration (#112022)
* fix: version migration

* fix: cyclomatic
2025-10-03 23:18:04 +02:00
Johnny Kartheiser 277fc492bd alerting docs: new AI template helper (#111856)
* alerting docs: new AI tools

docs for alert history and template ai tools

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

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

* edit word

* Update view-alert-state-history.md

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

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* prettier

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2025-10-03 14:43:18 -05:00
Michael Mandrus acad92864e Secrets: Refactor data_key_id out of the encoded secure value payload (#111852)
* everything compiles

* tests pass

* remove file included by accident

* add entry to gitignore

* some scaffolding for the migration executor

* remove file

* implement and test the migration

* use xkube.Namespace in our interfaces

* add todo

* update wire deps

* add some logs

* fix wire dependency ordering

* create tests to validate error conditions during migrations
2025-10-03 15:25:46 -04:00
Daniele Stefano Ferru 0c0c66fda1 Provisioning: update unhealthy status only when not recent (#112014) 2025-10-03 20:49:44 +02:00
Ashley Harrison 2424b1cee9 Slider: Make inputId a required param and fix minor a11y violations (#112006)
* make inputId a required param for <Slider>, fix a11y violations

* differentiate between slider and rangeslider
2025-10-03 17:35:28 +01:00
djpnicholls e414e790f7 Alerting Provisioning: Don't error on recording rules without conditions (#109410)
* Don't error on recording rules without conditions

The provisioning model doesn't include conditions for recording rules.

Only return an error for a missing condition if the rule isn't a
recording rule.

Also, added a test case to show the failure.

This resolves #109398

* Run `go fmt` to fix whitespace issues
2025-10-03 11:43:51 -04:00
Ashley Harrison 15ec2f0c17 Internationalisation: Allow parameterising basePaths for key generation in lint rule (#111999)
* allow parameterising the basePaths for autofixes

* add documentation
2025-10-03 16:38:31 +01:00
Will Browne 99784bea14 Plugins: Add toggle for plugin CDN URLs (#111985)
add toggle
2025-10-03 16:28:51 +01:00
Cory Forseth 02fb28a478 AUTHZ: add option to bypass team membership cache (#111968)
add option to bypass team membership cache
2025-10-03 10:22:19 -05:00
Gilles De Mey 43be84076c Alerting: Migrate spec.title and spec.name fieldSelectors (#111993)
Migrate `spec.title` and `spec.name` fieldSelectors to use base64URL
encoded `metadata.name` selectors since the `spec` properties aren't
indexed and no longer searchable in the new app platform API.
2025-10-03 16:43:03 +02:00
Yuri Tseretyan d0f79ee60d Alerting: Update alerting module + refactor (#111761)
* update alerting module
* replace compat with ones from alerting
* update type references Receiver and Integration to *Status
* update route in provisioning test that is invalid after recent change
* use right type for LINE ingtegration
2025-10-03 10:37:49 -04:00
Daniele Stefano Ferru cca9e0d55f Provisioning: set sync state if empty (#111998) 2025-10-03 16:21:07 +02:00
Mihai Doarna 6d7c50f18d IAM: Refactor team bindings to store one pair of team and member (#111871)
* store one pair of team member in team bindings object

* generate queries for sql unit tests

* remove TeamBinding struct
2025-10-03 16:48:51 +03:00
Shirley e9499bb60c feat: mark Observability > Database as New! (#111938) 2025-10-03 13:37:20 +00:00
Misi 0b639bd1f9 Chore: Rename Azure AD to Entra ID in the authentication-related docs and on the auth UIs (#111887)
* Chore: Rename Azure AD to Entra ID in the docs and on the UI

* lint

* i18n update
2025-10-03 12:35:03 +00:00
Eloy Moreno a029c38d25 Actions: use create-github-app-token in pr-e2e-tests.yml workflow (#111804) 2025-10-03 12:38:11 +01:00
Konrad Lalik 97598e963b Alerting: Clear outdated settings when switching contact point type (#111869)
* Reset integration settings when switching integration type

* Remove comments

* Remove unnecessary changes

* Fix applying default values when switching contact point type

* Fix non-secure settings overrides when switching contact points

* Remove unused imports
2025-10-03 13:31:44 +02:00
Jack Baldry 72a8dc4887 Give meaningful name to feature toggles documentation CI job (#111981) 2025-10-03 11:40:06 +01:00
Jack Baldry c2bd641868 Fix mismatch in feature toggles documentation (#111975) 2025-10-03 10:12:23 +00:00
Stephanie Hingtgen ed482219c6 Provisioning: Specify managed by git sync (#111969)
* Provisioning: Specify managed by git sync

* linter

* Update public/app/features/provisioning/Wizard/hooks/useResourceStats.ts

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

* Update public/app/features/provisioning/Shared/RepositoryList.tsx

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

* Update public/app/features/provisioning/Wizard/hooks/useResourceStats.ts

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

* Update public/app/features/provisioning/Shared/RepositoryList.tsx

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

* fix frontend lint

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-10-03 09:52:13 +00:00
Mihai Doarna 0f60e2208e IAM: Implement update method in team API (#111660)
* implement team update in legacy store

* add unit tests

* add integration test

* set permissions for user in integration tests

* add more integration tests for update

* update validations

* add unit tests for ValidateOnUpdate() func

* fix integration test
2025-10-03 12:48:38 +03:00
Alex Khomenko 76d467f285 API clients: Automatically set PATCH headers (#111879)
* API clients: Automatically set PATCH headers

* Only modify /apis/ endpoints

* Do not overwrite existing content-type
2025-10-03 12:35:18 +03:00
Pepe Cano 6248971d1e docs(alerting): add settings for alert evaluation backoff retries (#111891)
* docs(alerting): add settings for alert evaluation backoff retries

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

* fix vale prose
2025-10-03 11:08:14 +02:00
Stephanie Hingtgen 3ce9137c19 Provisioning: Refactor to combine validation and test endpoint logic (#111965)
Provisioning: Refactor test endpoint
2025-10-03 01:16:37 -06:00
Gareth add8beefad Logs: Fix spacing between the logs volume and logs panel (#111952)
Logs: fix spacing between volume and logs panel
2025-10-03 15:06:25 +08:00
Pepe Cano 7ed46fd321 docs(alerting): alertingSaveStateCompressed is enabled by default (#111897) 2025-10-03 09:02:58 +02:00
Yunwen Zheng 454cd0f385 BrowseView: Git Provisioned Read Only Folder Disable Empty State Create Dashboard Button (#111971)
BrowseView: Disable empty state create dashboard button when repo is read only
2025-10-02 20:51:45 -06:00
grafana-pr-automation[bot] 2f321982b2 I18n: Download translations from Crowdin (#111970)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-03 00:37:30 +00:00
Todd Treece 2d232aa10d Plugins: Move store init to dskit service (#111823) 2025-10-02 19:53:31 -04:00
Alex Khomenko 5798181fb0 Provisioning: Show field errors for sync interval (#111925) 2025-10-02 18:23:36 -05:00
Ryan McKinley 13d9829836 Chore: Remove unused status element (#111963) 2025-10-02 20:15:39 +00:00
Yuri Tseretyan 22173da78d Alerting: Use empty feature manager for creating test state (#111964) 2025-10-02 19:46:59 +00:00
Sarah Zinger 74a2232de1 DS-Apiservers: fix error handling in ds apiservers (#111956) 2025-10-02 15:40:30 -04:00
Ryan McKinley 0af6efb096 Preferences: Support Create+Update+Delete over apiserver (#111715) 2025-10-02 21:58:08 +03:00
Josh Hunt 5a5aac1d6b NPM: Set environment for NPM package publishing (#111949)
Add NPM environment to NPM publish workflow
2025-10-02 19:36:23 +01:00
Daniele Stefano Ferru 6336e8cdd2 Provisioning: always set job status when a sync job is created (#111957) 2025-10-02 12:03:21 -05:00
Kyle Brandt 3acb8aa20e SQL Expressions: Fix string constants in frame types (#111946)
s/time_series/timeseries and change from underscores to hyphens in numeric and ts types
This makes it more consistent with the other timeseries kind strings
2025-10-02 17:00:27 +00:00
Darren Janeczek d49ae31d4f chore: adaptive telemetry navmenu - remove hard-coded metadata (#111955) 2025-10-02 12:45:58 -04:00
Jev Forsberg 2f3c503182 Chore: Update on-prem stable release dates (#111909)
* baldm0mma/ update release dates

* Update docs/sources/upgrade-guide/when-to-upgrade/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-10-02 09:48:43 -06:00
Alex Khomenko 8cb10d45ea Stars: Fix starred state not being updated (#111936)
* Stars: Fix starred state not being updated

* Legacy fallback

* Improve name
2025-10-02 18:14:40 +03:00
Isabel Matwawana 3b70ba1772 Docs: Add panel options section to dashboard settings (#111942) 2025-10-02 15:04:51 +00:00
Domas 28c458b71d Nav: Update Observability section nav to phase 2 (#109347)
* observability nav phase 2

* Update order in Observability section

* Update name for database o11y

---------

Co-authored-by: Javier Ruiz Calle <javier.ruizcalle@grafana.com>
Co-authored-by: Edvard Falkskär <457523+edvard-falkskar@users.noreply.github.com>
2025-10-02 15:47:59 +01:00
Carl Bergquist 500e837031 scopes: log when scopes/filters/groupby are used (#111914)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-10-02 16:41:10 +02:00
Andreas Christou b50737a76c Influx: Improve variable regex handling (#111853) 2025-10-02 15:57:39 +02:00
Ashley Harrison d04d4782b7 TextPanel: Fix CodeEditor not appearing properly (#111937)
set width=100% on the CodeEditor
2025-10-02 14:57:00 +01:00
Yunwen Zheng e9f44daa7e FolderActionsButton: Move folder action set up for provisioned folders (#111913) 2025-10-02 08:38:27 -04:00
Zoltán Bedi 7055a879ba PostgreSQL: Decouple plugin (#111620) 2025-10-02 14:12:47 +02:00
Josh Hunt 4b2bb46930 E2E: Fix trace-view-scrolling test flakiness (#111896) 2025-10-02 09:29:10 +01:00
Alexa Vargas e0b25e821c Saved Queries: Fix buttons should not be displayed in Expressions query row (#111875) 2025-10-02 09:54:26 +02:00
Stephanie Hingtgen 044407d9dc Provisioning: Allow configurable min interval (#111920) 2025-10-02 09:05:09 +03:00
Stephanie Hingtgen 6f0a8a344a Provisioning: Fix repos stuck in deletion (#111918) 2025-10-02 09:04:55 +03:00
Stephanie Hingtgen ebbcef5583 Provisioning: Fix logging on finalizer (#111917) 2025-10-02 09:34:16 +04:00
grafana-pr-automation[bot] d625919366 I18n: Download translations from Crowdin (#111915)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-02 00:38:16 +00:00
Stephanie Hingtgen 7f805d8e1a Unistore: Add comment on how RV checks are working (#111898) 2025-10-01 16:02:45 -05:00
Will Assis b26647e042 unified-storage: setup rollout-operator endpoint (#111768)
* implement endpoint so that storage/search api can prepare for downscale if enabled
2025-10-01 16:34:30 -04:00
Alexander Akhmetov 169bf2ce73 Alerting: Add feature toggle to use the old simplified routing hash generation (#111900)
* Revert "Alerting: Generate simplified routing routes with old fingerprint function (#111893)"

This reverts commit 0da9d49896.

* Add alertingUseNewSimplifiedRoutingHashAlgorithm flag

* Alerting: Add feature toggle to use the old simplified routing hash generation
2025-10-01 15:21:33 -04:00
Andreas Christou 4e2c3f19df Graphite: Improve functions endpoint (#111902)
Handle HTML response for functions endpoint

- If the endpoint starts with < return an error
- Update tests
- Catch error in FE and use default functions
2025-10-01 20:04:34 +01:00
Alexander Akhmetov 0da9d49896 Alerting: Generate simplified routing routes with old fingerprint function (#111893) 2025-10-01 18:45:36 +02:00
Matheus Macabu 1bd7725a10 Sqlite: Increase busy_timeout to 7.5s for non-cgo driver (#111883) 2025-10-01 18:18:44 +02:00
linoman f01b1131e7 SCIM - Allow groups to be deleted if SCIM group sync is disabled (#111888)
* Load SCIM configuration before running changes in teams

* Update tests

* Allow to delete groups if SCIM group sync is disabled

* Update docs
2025-10-01 16:07:18 +00:00
Will Assis 9bde3267bb unified-storage: dont index -- Grafana -- datasource dashboard fields (#111774)
* unified-storage: dont index -- Grafana -- datasource dashboard fields
2025-10-01 11:32:56 -04:00
maicon bace767d26 Unistore: Relax resource validation regex (#111885)
Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-10-01 18:21:48 +03:00
Ryan McKinley c530cacb1c Storage: Propagate RV to server on update+delete (#111866) 2025-10-01 18:00:02 +03:00
Clément Duveau c0d0121b41 Tag / content discrepancy (#111882) 2025-10-01 16:49:43 +02:00
Ihor Yeromin 04e9ac0742 Doc: Filter by value update (#111881)
doc(transformation): filter by value
2025-10-01 16:43:14 +02:00
Ryan McKinley 2f2289f226 Chore: Update authlib (foder as top level argument) (#111800) 2025-10-01 14:40:28 +00:00
Yunwen Zheng 3541926e5c SynchronizeStep: fix when user can click next when repo is not ready (#111789)
* SynchronizeStep: fix when user can click next when repo is not ready
2025-10-01 14:31:41 +00:00
Andreas Christou ed7163a26f Graphite: Backend querying improvements (#111549) 2025-10-01 15:04:21 +02:00
Andrej Ocenas bb7358be29 FolderPicker: Don't show expand button for empty folders and move search icon (#111872)
* Remove expand indicator if empty

* Simplify the empty folder checking

* Move search icon

* Remove commented code
2025-10-01 15:03:45 +02:00
Shirley 03326f9ffd Navigation: rename database observability app (#111369) 2025-10-01 05:32:06 -07:00
Will Assis 870131a4aa unified-storage: restrict search to title of documents (#111842)
* restrict search to title of documents
2025-10-01 08:06:26 -04:00
Ryan McKinley 8f8e4a881a Dashboards: Avoid panic with invalid continue token (#111870) 2025-10-01 13:11:00 +02:00
Jack Baldry 30e9c56ecc Add instructions to improve AI effectiveness when writing documentation (#111246) 2025-10-01 11:37:25 +01:00
Jack Westbrook 69b76089b3 chore: bump tar-fs to 3.1.1 (#111867) 2025-10-01 10:34:02 +00:00
Peter Štibraný 707c486a46 Rebuild search indexes asynchronously (#111829)
* Add "debouncer" queue, which can combine incoming elements.

* Rebuild indexes asynchronously.

* Remove duplicate method.

* Fix bleve tests.

* Extracted combineRebuildRequests and added test for it.

* Add TestShouldRebuildIndex

* Added TestFindIndexesForRebuild

* Added TestFindIndexesForRebuild

* Introduce index_rebuild_workers option.

* Add metric for rebuild queue length.

* Add TestRebuildIndexes.

* Fix import.

* Linter, review feedback.
2025-10-01 11:52:09 +02:00
grafana-pr-automation[bot] 91e8eb0e45 I18n: Download translations from Crowdin (#111787)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-01 09:39:28 +00:00
Gábor Farkas b8fd7b5e18 testdata: add query-metadata scenario (#111627)
* testdata: add query-metadata scenario

* updated test specs
2025-10-01 10:49:23 +02:00
Ida Štambuk 8f56f1df98 Dashboards: Add RS tracking for Dynamic Dashboards (#111102) 2025-10-01 11:14:12 +03:00
Mustafa Sencer Özcan aeb62b7acc fix: improve api error handling for dashboards and folders (#111831) 2025-10-01 09:54:14 +02:00
Alex Khomenko b7bdc98479 Provisioning: Move delete button to ConfigForm (#111865) 2025-10-01 09:45:36 +03:00
Alex Khomenko bbb9c4660c Provisioning: Retry loading dashboard if ref is missing (#111811)
* Provisioning: Retry loading dashboard if ref is missing

* Fix tests

* Remove any
2025-10-01 05:08:05 +00:00
Paul Marbach 73cf4b0895 Table: Avoid overflow issues in Safari 26 (#111858) 2025-09-30 17:25:32 -04:00
Serge Zaitsev 174e924e15 Chore: Disable cgo by default for local builds (#111807)
* disable cgo by default for local builds, also set cgo variable in either case

* actually do not set the default value

* disable cgo for darwin, display sqlite driver in logs

* fix linter warning, although I do not fully agree with it
2025-09-30 23:06:40 +02:00
Paul Marbach 901dd9506f Table: Disable virtualization, hover overflow, and scrollbar width resizing on Safari 26 (#111834)
* Table: Disable virtualization, hover overflow, and scrollbar width resizing on Safari 26

* pull obj def out of method
2025-09-30 16:33:11 -04:00
Alyssa Joyner 0bccb1c4ba [InfluxDB]: Remove version notices (#111778) 2025-09-30 13:52:13 -06:00
Tobias Skarhed 5639ecf711 Scopes: Get parent nodes for command palette search results (#111820)
* Add feature flag for multiple scopes endpoint usage

* Add method to API client for fetching multiple ScopeNodes at the same time

* Add parent title to tree

* Get nodes from cache too

* Update test with new functionality

* Update test

* Fix linting issue

* Remove unapplied scope parents
2025-09-30 21:46:06 +02:00
Bradley 7055ba9140 LDAP Authentication: Fix URL to propagate username context as parameter (#111723)
Fix URL to propagate username context as parameter
2025-09-30 14:53:01 -04:00
Mihai Turdean 7be0c100b6 IAM Folder Reconciler - revert fetching latest folder info from the folder to improve perf (#111779) 2025-09-30 16:59:06 +00:00
Alex Khomenko 98ef07bcb0 Snapshots: Use appSubUrl for View all snapshots (#111652)
* Snapshots: Use appSubUrl for View all snapshots

* Add back external attr
2025-09-30 16:03:59 +00:00
linoman f58fbc793e SCIM: Update documentation mentioning that unused attributes will be ignored (#111809)
Update documentation mentioning that unused attributes will be ignored
2025-09-30 17:52:59 +02:00
Tobias Skarhed 7888e10aae Scopes: Increase rank for recent scopes in command palette (#111805)
* Increase prio for recent scopes and bump match score for exact matches

* Set scopes prio to 8
2025-09-30 17:12:42 +02:00
Stephanie Hingtgen 96407ef46b Provisioning: Add integration test for RV conflicts (#111790) 2025-09-30 09:48:53 -05:00
Sergej-Vlasov 90da925985 DashboardAPI: Remove manual slug creation in dashboards (#111657)
* remove slug creation on frontend due to slugify issues

* adjust tests

* fix
2025-09-30 17:15:56 +03:00
Todd Treece 48a5ae3980 Air: Enable stop_on_error (#111783) 2025-09-30 09:49:23 -04:00
Kristian Bremberg c37bb1d0a6 fix: don't split query URL params in validatePath (#111296) 2025-09-30 14:39:14 +01:00
Ryan McKinley cfbf64c3fd Validation: Move validation into apimachinery package (#111736) 2025-09-30 12:59:33 +00:00
Mariell Hoversholm d8fd872ad3 Actions: Fix Zizmor findings (#111815) 2025-09-30 14:46:36 +02:00
Will Browne cc72599321 Revert "Plugins: Move store init to dskit service" (#111806)
Revert "Plugins: Move store init to dskit service (#111206)"

This reverts commit 4cff7237d0.
2025-09-30 12:48:27 +01:00
Gareth 1ebfc3fea2 Tempo: Move health check requests to backend (#111668)
* move tempo health check requests to backend

* fix ci and tests

* add checkhealth test to backend
2025-09-30 17:57:45 +08:00
Tobias Skarhed 3668d02650 Scopes: Resolve selector path on initial load (#111624)
* Recusively load nodes, and insert into tree

* Remove console.logs

* Simply functions

* Always show recent scopes category

* Fix issues with parent node remaining in URL

* Always display recent scopes

* Make sure chdilren are loaded when collapsing

* Add test cases for expanded items and imrpove a11y markup

* Remove recent scopes always showing and update tests

* Fix linting issue

* Move insertPathNodesIntoTree to treeUtils

* Add test for insertPathNodesIntoTree

* Remove comment
2025-09-30 11:49:22 +02:00
Jean-Philippe Quéméner 4a229009ab fix(folders): allow to move folder to root (#111784) 2025-09-30 11:52:06 +03:00
Alexander Zobnin 5457cc5d4f Authz: Fix zookie nil pointer dereference (#111758) 2025-09-30 09:56:08 +02:00
Stephanie Hingtgen 2e6c02c489 Dashboards: Add AfterDelete hook (#111722) 2025-09-30 01:27:40 -05:00
Paul Marbach 9b722efe57 Table: Fix regression with Filter popup expression selection (#111777) 2025-09-29 23:06:47 -05:00
Jean-Philippe Quéméner d0e3e91b03 fix(folders): use namespace_uid for alert count (#111773) 2025-09-29 16:12:34 -05:00
Sonia Aguilar 37b5b1a03d Alerting: Remove useRulesSourcesWithRuler for SmartAlertTypeDetector (#111623)
* remove useRulesSourcesWithRuler for SmartAlertTypeDetector

* use useHasRulerV2

* avoid using rule context

* update translations

* update eslint
2025-09-29 23:05:15 +02:00
Drew Slobodnjak d0d55b3c68 Geomap: Only filter if there is a match (#110996) 2025-09-29 13:28:50 -07:00
Andrej Ocenas 98779838ab FolderPicker: Don't show parent folder when not searching (#111756) 2025-09-29 22:01:46 +02:00
Andrej Ocenas a9ef73607d FolderPicker: Fix expand toggle also selecting folder (#111755)
Fix selecting folder on expand
2025-09-29 22:00:52 +02:00
Todd Treece 4cff7237d0 Plugins: Move store init to dskit service (#111206) 2025-09-29 15:32:15 -04:00
Ryan McKinley 0a06183d84 Stars: support running stars in mode 5 (#111754) 2025-09-29 22:28:48 +03:00
Adela Almasan 8638ef5cba Geomap: Fix duplicated data links (#111558) 2025-09-29 13:36:52 -05:00
Jocelyn Collado-Kuri 18de2997ff Prometheus: Fix incremental querying logic for public dashboards (#111642)
* also disable incremental querying when the dashboard is public

* add tests for disabling incremental querying if public dashboards are being used

* move public dashboard check earlier
2025-09-29 11:25:03 -07:00
Tania c952de773d FeatureToggles: Removed deprecated code (#111750) 2025-09-29 20:05:44 +03:00
Will Browne 073338ec29 Plugins: Dependencies do not inherit parent URL for preinstall (#111762)
dependencies dont inehrit parent url for preinstall
2025-09-29 17:57:41 +01:00
Matheus Macabu ffa9444256 Secrets: Add more details about decryption when there is an error (#111741) 2025-09-29 18:29:52 +02:00
Zoltán Bedi 117e357cc9 PostgreSQL: Check for null in JSON columns (#111747) 2025-09-29 18:28:07 +02:00
Jara Suárez de Puga García 52eaa77bdd Documentation Node graph broken link (#111711)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
2025-09-29 11:35:49 -04:00
Tom Ratcliffe a243259063 Chore: Fix e2e-selectors eslint rule to check for startsWith (#111733) 2025-09-29 16:02:34 +01:00
Piotr Jamróz 410df3d065 Trace View: Use data links post processor for legacy data links (#111304) 2025-09-29 17:00:07 +02:00
Misi 382c414869 Docs: Remove session cookie option for http api auth docs (#111729) 2025-09-29 16:36:55 +02:00
Costa Alexoglou 911d35e17b fix: click labels without any filter (#111742)
* fix: click labels without any filter

* fix: typecheck
2025-09-29 16:19:50 +02:00
Misi 54eda07b2e Docs: Cookie samesite setting clarification (#111730) 2025-09-29 16:17:28 +02:00
Jean-Philippe Quéméner d46e3d0e5a fix(dashboards): allow multiple types in search query (#111740) 2025-09-29 16:13:43 +02:00
Anna Urbiztondo 0ac61983eb Docs: provisioning fix (#111744)
Fix
2025-09-29 13:52:23 +00:00
Costa Alexoglou 1b766b9c9f Provisioning finalisers fix 2 (#111679)
* adding some logs to better understand what might be happening

* only focus this PR on improve logging in finalizer handling

* debug log before calling finalizers

* working on finalizers

* removing last todos, adding unit tests

* better use SupportedFinalizers name

* addressing comments

* wip: fix tests and add delete error in status

* chore: codegen

* chore: codegen openapi

* Merge remote-tracking branch 'origin/main' into provisioning-finalisers-fix-2

* update frontend client

* fix: errors in testing

* fix: breaking test

---------

Co-authored-by: Daniele Ferru <daniele.ferru@grafana.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-29 15:21:12 +02:00
Alexander Zobnin 893523dd7c grafana-iam: Wire RoleBindings APIs to OSS (#111728)
* Update role binding specs

* Wire role bindings APIs in OSS

* gofmt

* revert modules updates

* update specs

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

* update registration

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

* fix reader

* fix format

* add role bindings mapper

* remove namespace from subject spec

* fix formatting

* update api specs

* Fix role binding registration

* remove mapper

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-29 14:28:12 +02:00
Ryan McKinley c4a2bb5540 Search: Include managedBy in DashboardHit result (#111600) 2025-09-29 14:28:26 +03:00
Sofia Papagiannaki 34b662c3e1 Chore: Deprecate direct access to Cfg (#111442)
Deprecate direct access to Cfg
2025-09-29 13:48:23 +03:00
Alexander Akhmetov 83965fe414 Alerting: Fix sending limit_alerts to the alertRuleApi (#111698) 2025-09-29 12:33:48 +02:00
Anna Urbiztondo d476a7947b Docs: Edits to OaC/Git Sync (#111475)
* Edits

* restart CI

* Prettier

---------

Co-authored-by: Irene Rodriguez <irene.rodriguez@grafana.com>
2025-09-29 12:17:37 +02:00
Irene Rodríguez a8cd068396 Refactor SCIM provisioning documentation (#111658) 2025-09-29 12:16:07 +02:00
Alexa Vargas f699bd8769 Playlist: Fix navigation issues with emoji-titled dashboards during dual-write migration (#111659)
Playlist: Fix playlist navigation issues with emoji-titled dashboards during dual-write migration
2025-09-29 11:53:07 +02:00
Ivan Ortega Alba 6d2fa6c583 Dashboard: Backend always set metricEditorMode: 0 regardless metricQueryType and expression (#111613)
- Fix metricEditorMode logic to match frontend hasOwnProperty behavior
- Fix metricQueryType to only set when property doesn't exist
- Fix statistics processing to handle all types like frontend does
- Fix null statistic handling to match frontend behavior
- Fix object string representation to match JavaScript behavior
- Add comprehensive test coverage for all CloudWatch migration scenarios
- Achieve 100% backend-frontend consistency for v34 migration

* Fix v34 CloudWatch migration backend-frontend inconsistencies

- Fix metricEditorMode logic to match frontend hasOwnProperty behavior
- Fix metricQueryType to only set when property doesn't exist
- Fix statistics processing to handle all types like frontend does
- Fix null statistic handling to match frontend behavior
- Fix object string representation to match JavaScript behavior
- Add comprehensive test coverage for all CloudWatch migration scenarios
- Achieve 100% backend-frontend consistency for v34 migration

* Improve v34 CloudWatch migration test coverage

- Add targeted tests for hasOwnProperty logic coverage
- Add comprehensive getSuffixForStat coverage (all data types)
- Add generateNextRefId double letter generation tests
- Simplify test cases while maintaining full coverage
- Achieve 93%+ coverage on all critical v34 functions
- Remove redundant test cases for better maintainability

* Clean up v34 CloudWatch migration code

- Remove unnecessary comments and documentation
- Simplify function signatures and logic
- Maintain functionality while improving readability
- Keep essential logic intact with cleaner code

* Only remove unnecessary comments
2025-09-29 11:35:58 +02:00
Seunghun Shin 512c292e04 Alerting: Add jitter support for periodic alert state storage to reduce database load spikes (#111357)
What is this feature?

This PR implements a jitter mechanism for periodic alert state storage to distribute database load over time instead of processing all alert instances simultaneously. When enabled via the state_periodic_save_jitter_enabled configuration option, the system spreads batch write operations across 85% of the save interval window, preventing database load spikes in high-cardinality alerting environments.

Why do we need this feature?

In production environments with high alert cardinality, the current periodic batch storage can cause database performance issues by processing all alert instances simultaneously at fixed intervals. Even when using periodic batch storage to improve performance, concentrating all database operations at a single point in time can overwhelm database resources, especially in resource-constrained environments.

Rather than performing all INSERT operations at once during the periodic save, distributing these operations across the time window until the next save cycle can maintain more stable service operation within limited database resources. This approach prevents resource saturation by spreading the database load over the available time interval, allowing the system to operate more gracefully within existing resource constraints.

For example, with 200,000 alert instances using a 5-minute interval and 4,000 batch size, instead of executing 50 batch operations simultaneously, the jitter mechanism distributes these operations across approximately 4.25 minutes (85% of 5 minutes), with each batch executed roughly every 5.2 seconds.

This PR provides system-level protection against such load spikes by distributing operations across time, reducing peak resource usage while maintaining the benefits of periodic batch storage. The jitter mechanism is particularly valuable in resource-constrained environments where maintaining consistent database performance is more critical than precise timing of state updates.
2025-09-29 11:22:36 +02:00
Tom Ratcliffe 310c83531c Testing: Tidy up alerting handlers in default mock worker setup (#111292) 2025-09-29 09:19:31 +01:00
Alexa Vargas 85534ae143 Chore: Add new dashboardLibrary feature toggle (#111680)
* Chore: Add new `dashboardLibrary` feature toggle
2025-09-29 06:55:46 +00:00
Kristina Durivage caa1202d54 More cleanup 2025-09-28 18:10:34 -05:00
Kristina Durivage 1410180aed Do not populate new RefIDs every time, show other validation errors 2025-09-28 17:32:37 -05:00
Stephanie Hingtgen e01e61a156 Trash: Keep provisioned objects out of the trash (#111714) 2025-09-28 20:33:57 +00:00
Stephanie Hingtgen 5869fcb97a Provisioning: Wait for status check in frontend (#111712) 2025-09-28 15:10:17 -05:00
maicon 2e734549b5 Revert "Revert "Unistore: Add validation for resource names"" (#111648)
* Revert "Revert "Unistore: Add validation for resource names" (#111408)"

This reverts commit b3ed600bca.


---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-28 20:53:07 +03:00
Kristina Durivage 23e97f9a4a Merge branch 'main' into kristina/static-transform-refIds 2025-09-28 11:47:21 -05:00
Kristina Durivage 0db9227da8 Do not generate new refIDs 2025-09-28 11:46:51 -05:00
Daniele Stefano Ferru e34475041a Provisioning: move job operator to enterprise and enable PR worker (#111663) 2025-09-27 20:14:08 -05:00
grafana-pr-automation[bot] dc3e7b246a I18n: Download translations from Crowdin (#111699)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-27 00:36:42 +00:00
Stephanie Hingtgen e083c05532 Folders: Create default permissions on root level folder in API Service and cleanup after delete (#111690) 2025-09-26 17:16:07 -05:00
Dave Henderson ffe85d7c7e feat(ci): Allow overriding runs-on for publish-artifact workflow (#111695)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-09-26 20:06:59 +00:00
Kristina Durivage 84deb76b21 Merge branch 'main' into kristina/static-transform-refIds 2025-09-26 14:50:14 -05:00
Ryan McKinley 82bcfba64b Preferences: refactor experimental apiserver and improve tests (#111596) 2025-09-26 19:44:02 +00:00
Todd Treece a333e8a8da Background Services: Remove dskitBackgroundServices toggle (#111255) 2025-09-26 15:16:06 -04:00
Eric Leijonmarck 052b6e3dfd LBAC rules: Change to query all teams before looping for better performance (#111689)
performance nit for querying all teams existance before looping through lbac rules
2025-09-26 18:08:56 +00:00
John Troy 004f30fcb7 Docs: Fix broken links in SAML docs (#111039)
* Rename this heading to match the link in 'Request Initiation'

* Fix link to 'Configure SAML using the Grafana configuration file' and make the link text match
2025-09-26 13:33:29 -04:00
Eric Leijonmarck e7ca0fdf7b LBAC for datasources: Adds cleanup of lbac rules added for teams that have been deleted (#111405)
add cleanup of lbac rules for teams that have been deleted
2025-09-26 17:55:00 +01:00
Will Browne 8fe2925c47 Plugins: Add toggle for prioritizing loading plugins from CDN (#111671)
add toggle for loading cdn plugins first
2025-09-26 17:12:44 +01:00
Taras e7f57446c1 PostgreSQL: Support PGPASSFILE by making password optional (#108856)
* datasource(postgresql): add support of pgpass file

* remove `required` label for password field

* set `runPostgresTests` back to false

* fix after merge conflict

* add pgx_test

* set `runPostgresTests` back to `false`

* Add `no password` test case to the `pgx_test.go` as well

* fix `postgres_pgx_test.go`

* Update datasource docs

* docs wording

* docs: `datasource` -> `data source`

* Update docs/sources/datasources/postgres/configure/_index.md

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

* run prettier - docs

---------

Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
2025-09-26 16:23:40 +02:00
colin-stuart 00fb2e9537 SCIM: update docs to mention SCIM UI (#110906)
* SCIM: update docs to mention SCIM UI

* simplify

* fix typo

* expand UI section, add UI references to IdP docs

* fix vale warning

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

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>

---------

Co-authored-by: linoman <2051016+linoman@users.noreply.github.com>
2025-09-26 09:20:27 -05:00
Cory Forseth 248b323967 Authz: add folder delete hook (#111649)
* add delete hook

* logging cleanup
2025-09-26 08:50:05 -05:00
Andres Martinez Gotor c61a8a16fd Advisor: Retry before patching objects (#111665) 2025-09-26 15:47:30 +02:00
Jean-Philippe Quéméner c66209bca8 feat(unified-storage): no SQL fallback for dashboards/folders in Mode 5 (#111672) 2025-09-26 15:47:03 +02:00
Yuri Tseretyan b8f23eacd4 Alerting: Migrate to integration schema (#111643)
* update tests to assert against snapshot
* remove channel_config package replaced by schemas from alerting module
* update  references to use new schema
2025-09-26 09:31:50 -04:00
Galen Kistler a8bff45256 Loki: resource frontend browser cache (#110488)
feat: allow frontend to set browser cache for config endpoint
2025-09-26 07:18:20 -05:00
Jacob Valdez 0163d1888e Docs: Marking the image renderer plugin as deprecated (#111669) 2025-09-26 14:09:28 +02:00
Andrej Ocenas 6374caec1a FolderPicker: Show parent folder when searching (#111026)
* Add FolderParent component

* Move parent folder after the folder name

* Small improvements
2025-09-26 13:55:33 +02:00
Ieva 2b86de8b7f Resource Permissions: Move validator higher up (#111557)
* move resource permission create and update validator higher up the chain

* undo unwanted change
2025-09-26 11:30:28 +00:00
Gilles De Mey 41de5fa380 Alerting: Fixes some pluralizations (#111661)
Fixes some pluralizations
2025-09-26 13:18:15 +02:00
Jo f2eab5c3ea AccessControl: Increase limit of LBAC for Datasources rules (#111560)
increase json_data in mysql from TEXT to MEDIUMTEXT (16MB)
2025-09-26 12:12:26 +01:00
Tobias Skarhed eb16fa1642 Scopes: Generate new field for default parent node (#108666)
* Generate new field for default parent node

* Update ScopeSpec with defaultPath and fix list types. Remove unused field

* Update frontend types

* Fix some errors

* ScopesSelector: Update zod types for spec schema

* Promlib: Update Scopes schema

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-09-26 12:02:45 +02:00
Tobias Skarhed 60fed679c4 Scopes: Add filterNode and toggleExpandNode to ScopesSelectorService (#111553)
Add filterNode and toggleExpandNode to ScopesSelectorService
2025-09-26 11:52:28 +02:00
Andrew Hackmann 47e6528c74 Docs: Fix link reference in Generic OAuth documentation (#111647)
Corrected the link reference for examples of setting up Generic OAuth.
2025-09-26 11:14:58 +02:00
grafana-pr-automation[bot] a32687838e I18n: Download translations from Crowdin (#111650)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-26 08:33:26 +00:00
John-George Sample ba7603bd4b Remove unused style prop from FlameGraph (#110459)
* remove `style` prop

* chore: linting
2025-09-26 10:23:50 +02:00
Piotr Jamróz 23fd69f572 Flame Graph: Use suffix for values formatted with a short formatter (#110999)
* Flame Graph: Use suffix for values formatted with a short formatter

* Fix linting
2025-09-26 10:10:05 +02:00
Victor Marin 9ac5a0b002 Dashboards: Add network call checks for reloadable dashboards in E2Es (#111380)
* Add network call verification for reloadable dashboards

* refactor
2025-09-26 10:09:20 +03:00
Victor Marin c2a38d6e0b Dashboards: Fix new metrics instrumentation type (#111587)
fix
2025-09-26 10:08:41 +03:00
Sonia Aguilar 4ea85b7feb Alerting: Fix threshold params (#111645)
* fix threshold params

* update tests
2025-09-26 08:28:33 +02:00
Ezequiel Victorero 6c4be6d1ea Saved Queries: Remove unused feature toggle (#111321)
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2025-09-25 21:48:29 +00:00
Mihai Turdean 2f5aacdb5d Update IAM Folder Reconciler local dev environment to include tools for profiling the operator. (#111641)
Update local dev setup to allow for profiling of the operator
2025-09-25 14:34:49 -06:00
Yuri Tseretyan 24c10b4fb9 Alerting: Remove usages of ReceiverType (#111508)
* remove usages of ReceiverType
2025-09-25 16:09:54 -04:00
Isabel Matwawana 217990ded9 Docs: Update saved queries feature availability details (#111639) 2025-09-25 15:29:05 -04:00
Haris Rozajac 56106064b1 Dashboards: Disable saving while title is validating (#111518)
* disable saving while title is validating

* don't show loading icon in the save button while validating

* fix e2e
2025-09-25 12:27:35 -06:00
Kristina Durivage 84126470de Merge branch 'main' into kristina/static-transform-refIds 2025-09-25 13:12:03 -05:00
mohammad-hamid b85aa5f681 Introduce kubernetesAuthZHandlerRedirect toggle (#111582)
* introduce kubernetesAuthzEndpoints toggle

* rename to kubernetesAuthZHandlerRedirect
2025-09-25 13:42:52 -04:00
Alex Spencer 1fad7e7a0a Transformations: Remove content.ts from bundle (#111579)
* refactor: replace getLinkToDocs with fallback

* chore: cleanup
2025-09-25 10:11:03 -07:00
Josh Hunt e426b1d9d9 EchoSrv: Guard backend initialisation with try/catch (#111612)
* EchoSrv: Guard backend initialisation with try/catch

* remove test exception
2025-09-25 14:05:24 -03:00
Santiago dab39c873f Remote Alertmanager: Use the correct OrgID when creating the store (#111634)
* Remote Alertmanager: Use the correct OrgID when creating the store

* fix test
2025-09-25 16:53:07 +00:00
Matej Kubinec 6629021f36 Navigation: Add missing subpaths for navtree items (#111202)
Navigation: Add missing subpaths
2025-09-25 19:26:05 +03:00
Ashley Harrison 59b8dff7e4 Theme: Border radius nit fixes (#111625)
* increase border radius on login box

* increase command palette border radius

* decrease TagBadge border radius

* increase border radius for alerting homepage containers

* increase border radius of EnterpriseAuthFeaturesCard

* increase border radius on cloud migration containers

* fix border-radius on edit alert rule page

* fix overflow on notification templates page

* add border radius to EmptyArea

* add border radius to image preview in Carousel component

* add border radius to PluginDetailsPanel

* add border radius to licensechrome

* add border radius to empty alerts state

* apply container styles on top of default styles
2025-09-25 17:06:47 +01:00
Ryan McKinley bdefea9acf Storage: Fast path when list with metadata.name=XYZ (#111630) 2025-09-25 15:54:38 +00:00
Larissa Wandzura 0bf37742f1 DOCS: FIx broken link on RBAC for app plugins page (#111574)
fixed incorrect RefURI
2025-09-25 10:40:25 -05:00
Costa Alexoglou 31ae013e8d chore: add validations to test endpoint (#111622)
* chore: add validations to test endpoint

* Validate path

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-09-25 15:10:13 +00:00
Ryan McKinley 054e12b1ac FeatureToggles: Remove deprecated experimental apiserver (#111617) 2025-09-25 17:39:25 +03:00
Charandas dc626e897b devenv: fix volumes section when sources don't contain one (#111563) 2025-09-25 07:18:14 -07:00
Alex Khomenko 397e4957f0 Provisioning: Enable manage permissions option for read only repos (#111595)
Provisioning: Enable manage permissions option for read only repositories
2025-09-25 16:48:51 +03:00
Alex Khomenko 45d5336c9f Provisioning: Display error details (#111591)
* Provisioning: Expose error messages

* Prevent selecting non-configured targets
2025-09-25 16:48:38 +03:00
Torkel Ödegaard 25d1a03187 Themes: Update themes border radius (#111478)
* Themes: Update themes border radius

* Update

* md, sm, lg

* Fixes

* Updated snapshot

* update

* Update

* Update

* Fixes

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-25 14:53:54 +02:00
Irene Rodríguez 1f84b979a2 Fix grafanactl resource pull command syntax (#111465) 2025-09-25 12:42:52 +00:00
Christian Simon c5f6318b7b FlameGraph: Ensure total is only counted once for recursive function calls (#111548)
grafana-flamegraph: Ensure total is only counted once for recursive function calls

Example flamegraph: https://flamegraph.com/share/2bb59df3-9930-11f0-94ec-760777e76ccd
2025-09-25 14:31:06 +02:00
Alexander Akhmetov 89b988ca55 Alerting: Add Assistant enrichment type (#111592) 2025-09-25 14:16:31 +02:00
Gábor Farkas 483bb79de8 datasources: querier: do not check for related toggles (#111586)
datasources: querier: do not check for realted toggles
2025-09-25 14:09:13 +02:00
Mihai Doarna 1e4358163b IAM: Implement delete in team API (#111367)
* implement delete in team API

* add unit tests for legacy sql

* add integration tests

* remove comment

* remove org_id from delete team sql command

* fetch team ID before deleting it
2025-09-25 14:55:54 +03:00
Ryan McKinley 7b1413ec54 Dashboards/search: improve openapi spec (#111575)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-09-25 11:08:47 +00:00
Jack Westbrook 9d682ce774 Plugins: externalise jsx-runtime (#108478)
* feat(plugins): externalise jsx-runtime to prevent plugins bundling separate versions

* feat(plugins): provide react/jsx-dev-runtime to plugins to prevent prod only bugs
2025-09-25 11:25:15 +02:00
maicon 991ac5b72e Fix folder parents getter max depth validation (#111568)
* Fix folder parents getter max depth validation

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

* Move max depth validation out of newParentsGetter

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

* Add tests

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-25 10:02:21 +03:00
Alex Khomenko df86de78d8 Search: Use new star service (#111545) 2025-09-25 08:14:26 +03:00
Kristina Durivage 3644e00d7f Fix typing 2025-09-24 20:15:59 -05:00
Stephanie Hingtgen 9172daa3dd Provisioning: Allow viewers to view /status subresource and wait on the frontend before sync (#111576) 2025-09-24 22:37:55 +00:00
Charandas 64c700e563 Provisioning: kind name should be singular (#111570) 2025-09-24 15:25:41 -07:00
Ryan McKinley a51d1b76b4 Dashboards: dependency cleanup (#111572) 2025-09-25 00:38:27 +03:00
Costa Alexoglou 0c0554da5e fix: avoid child paths in repositories (#111573)
* fix: avoid child paths in repositories

* add another unit test; fix linter

* Update pkg/registry/apis/provisioning/register.go

* skip itself

* fix: failing tests

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-24 21:35:06 +00:00
Kristina Durivage 705646c8f9 Handle old dashboards with transformation filters 2025-09-24 16:29:42 -05:00
Kevin Minehart 020b87e91b CI: Add cleanup branches cronjob (with dry-run: true) (#111428)
* CI: Add cleanup branches cronjob (with dry-run: true)

* update codeowners
2025-09-24 15:53:37 -05:00
Yunwen Zheng 49c4dcfd13 FileStatusPage: Disable save button if repo is read only (#111561) 2025-09-24 15:50:24 -05:00
beejeebus 237b718b95 Bump the version of grafana-google-sdk (#111562)
There was a [fix](https://github.com/grafana/grafana-google-sdk-go/pull/17) for lock in grafana-google-sdk-go v0.4.2.

It has not been incorporated in grafana core yet, and is causing
incidents:

    #incident-2025-09-24-prod_us_central_0_google_monitoring_errors
2025-09-24 15:01:44 -04:00
Kristina Durivage 0c25bc2b27 Fix translation 2025-09-24 12:46:23 -05:00
Gilles De Mey 61bf3d9899 Alerting: Use route matching hook (#111028) 2025-09-24 19:01:45 +02:00
Kristina Durivage c368196e35 following instructions.. 2025-09-24 11:36:32 -05:00
Kristina Durivage c1da8e2dff Clean up last bit… 2025-09-24 11:28:37 -05:00
Alex Khomenko c59aff3bb9 Provisioning: Disable editing options for read only repositories (#111547) 2025-09-24 16:22:43 +00:00
Collin Fingar 0ec3110d41 Dashboard Panel: Expose Image Renderer URL to Copy (#111502)
* Dashboard Panel: Expose Image Renderer URL to Copy

* Fixed i18n

* Feedback fixes

* Tweaked analytics event
2025-09-24 12:16:23 -04:00
Kristina Durivage 883fb2de83 Merge branch 'main' into kristina/static-transform-refIds 2025-09-24 11:13:57 -05:00
Stephanie Hingtgen b2f09a41ad Docs: kubectl fix typo (#111555) 2025-09-24 15:47:54 +00:00
Stephanie Hingtgen 8c5ca9ca12 Folders: fix panic on move (#111551) 2025-09-24 10:21:34 -05:00
Artur Wierzbicki bf32e9eea6 Docs: update kubectl instructions (#111530)
update kubectl instructions
2025-09-24 10:20:34 -05:00
Gilles De Mey f756c1ab62 Alerting: Update alerting RTKQ client (#111483)
re-generate the alerting RTKQ client – manually applied fixes from
https://github.com/grafana/grafana-app-sdk/pull/1000
2025-09-24 17:08:52 +02:00
Peter Štibraný 357aa7d314 Improve search index eviction (#111542)
* Modify index eviction mechanism such that unowned indexes are also evicted.

* Propagate OwnsIndex function to bleve backend

Fix tests.

Stop eviction goroutine when stopping backend.

Make linter happy.

Make sure we stop backend created by tests.

Review suggestion.

Removed newline.
2025-09-24 16:54:35 +02:00
Ryan McKinley a4dabc31ed Folders: let unified storage handle authorization (#110825) 2025-09-24 16:26:47 +03:00
Ryan McKinley 305dab3a54 Annotations: Exclude internal dashboard id when saved via UID (#111535) 2025-09-24 12:51:20 +00:00
Igor Suleymanov 7aed0da22c Add a CI step for checking app SDK codegen status (#111528)
* Add a CI step for checking app SDK codegen status

What

This commit adds a CI step for checking the status of code generated
with Grafana App SDK. The step fails if there is a git diff as a result
of the codegen step.

It also updates generated code to make sure we're starting from a
correct state.

Why

This ensures that when the schemas or the SDK version are updated, the
codegen mismatch is caught early at the PR stage.

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

* Format generated code

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

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-24 15:37:57 +03:00
Matheus Macabu 6c8ca56651 Plugins: Identify plugin ID when provisioning fails for any reason (#111543) 2025-09-24 14:05:43 +02:00
Gabriel MABILLE a98870f8f9 Extsvcacc: Split permission scope (#111491)
* Extsvcacc: Split permission scope

* Fix integration test

* Trigger CI/CD pipeline

* Change extsvc permission comparing

* Recreate unsplit permissions
2025-09-24 13:25:44 +02:00
Gabriel MABILLE b63ba0269f AuthZ: Recover from missing split scope (#111492)
* AuthZ: Recover from missing split scope

* Follow up changes

* Add test

* better log

* Add a comment to getScopeMap

* Punctuation
2025-09-24 13:24:21 +02:00
antonio 73cc4587bf community contributions: update issue triage guide (#111035)
* update issue triage guide

* moved automation section

* added note to issue category section
2025-09-24 13:14:29 +02:00
Oscar Kilhed ce84ac517e Dashboards: Increase limit of annotation tags (#111538)
increase limit of annotation tags
2025-09-24 12:50:02 +02:00
Stephanie Hingtgen 17c3f34688 Dashboards: Fix moving to root folder (#111515) 2025-09-24 04:45:00 -06:00
Josh Hunt 46adb9a158 AnnoList: Fix annotations not loading when in a repeated row (#111540) 2025-09-24 10:31:19 +00:00
Ivan Ortega Alba a72e02f88a Fix dashboard migration discrepancies between backend and frontend implementations (use toEqual) (#110268)
**Highlights**

* **Single-version migrations**: add `targetVersion` to migrator & model, separate outputs, enforce exact version.
* **Datasource fixes**: include `apiVersion` in tests, empty-string → `{}`, preserve `{}` refs, drop unwanted defaults.
* **Panel defaults & nesting**: only top-level panels get defaults; preserve empty `transformations` context-aware; filter repeated panels.

* **Migration parity**

  * V16: collapsed rows, grid height parsing (`px`).
  * V17: omit `maxPerRow` when `minSpan=1`.
  * V19–V20: cleanup defaults (`targetBlank`, style).
  * V23–V24: template vars + table panel consistency.
  * V28: full singlestat/stat parity, mappings & color.
  * V30–V36: threshold logic, empty refs, nested targets.
* **Save-model cleanup**: replicate frontend defaults/filtering, drop null IDs, metadata, unused props.
* **Testing**: unified suites, dev dashboards (v42), full unit coverage for major migrations.

Co-authored-by: Ivan Ortega [ivanortegaalba@gmail.com](mailto:ivanortegaalba@gmail.com)
Co-authored-by: Dominik Prokop [dominik.prokop@grafana.com](mailto:dominik.prokop@grafana.com)
2025-09-24 12:20:25 +02:00
owensmallwood 98fd3e8fe9 Unified Storage - Fix bug when cleaning up legacy on create (#111511)
fix bug - we should be calling s.store.Get() instead of s.Get(). Adds regression test.
2025-09-24 11:09:20 +01:00
Tom Ratcliffe 053920b8b7 Dashboards: Migrate DashList panel to use grafanaSearcher (#111274) 2025-09-24 10:35:40 +01:00
Misi 54a347463e IAM: Use the new authorizer for the User resource (#111479)
* Use the new authorizer for the User resource

* Use accessClient

* Update pkg/services/authz/rbac/mapper.go

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

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-24 11:32:29 +02:00
Will Assis 33ff6dbb9e unified-storage: add feature flag to use ngram for indexing (#111265)
* unified-storage: add feature flag to use ngram instead of edge-ngram for indexing
2025-09-24 10:36:50 +02:00
Edvard Falkskär 2669e0a770 LogsView + TraceView: Add time range to resource attributes extension range (#111171) 2025-09-24 08:49:18 +01:00
Alex Khomenko 3cc2fb3728 Provisioning: Add private preview badge (#111524)
* Provisioning: Add private preview badge

* Add docs link
2025-09-24 09:02:04 +03:00
grafana-pr-automation[bot] fc5b84c930 I18n: Download translations from Crowdin (#111519)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-24 00:38:27 +00:00
github-actions[bot] 6dbe5a6b3a Release: update changelog for main (#111503)
* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

* Update changelog

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-09-24 00:00:53 +00:00
Andres Torres 108697bb27 chore(deps): Backend - Adding puzpuzpuz/xsync/v4 (#111507) 2025-09-23 19:09:46 -04:00
Stephanie Hingtgen c2b513a2b3 Dashboards: Cleanup folder client (#111510) 2025-09-23 16:54:52 -05:00
Kristina Durivage 86faef83c2 cleanup 2025-09-23 16:06:20 -05:00
Stephanie Hingtgen 8caaf87584 Dashboards: Use folder client provider if folder client is nil (#111506) 2025-09-23 20:59:27 +00:00
Kristina Durivage ddca5c0a0a Merge branch 'main' of https://github.com/grafana/grafana into kristina/static-transform-refIds 2025-09-23 14:36:10 -05:00
Santiago 345b72227f Alert State History: Remove redundant JSON serialization when merging Loki streams (#111443) 2025-09-23 20:56:37 +02:00
Juan Cabanas 8ecb389c96 SavedQueries: Fix closeDrawer type (#111403) 2025-09-23 14:33:37 -03:00
Costa Alexoglou 8f77a3e0e8 chore: swap access check to folder client (#111490) 2025-09-23 11:40:10 -05:00
Ryan McKinley a9de52c3e9 Folders: Build the same apiserver regardless of ST or MT (#111481) 2025-09-23 11:27:02 -05:00
Peter Štibraný f062e5a85f Stop background tasks and when stopping bleve backend. (#111249)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-23 18:04:49 +02:00
Ryan McKinley 9494175984 Folders: Use access checker for /access endpoint (#110745) 2025-09-23 15:35:26 +00:00
Lauren 3612687f3d Alerting: Move enrichment tab between details and versions (#110886) 2025-09-23 16:39:45 +02:00
Lauren 5c6d33290f Alerting: Remove unused components (#111320) 2025-09-23 16:39:00 +02:00
Jacob Valdez f7b04bc25d docs: reorder whats new posts and include plugin translation (#111482) 2025-09-23 14:33:40 +00:00
Austin Pond bc0f746eed apiserver: Allow AppInstaller to Handle Custom Resource Routes (#111381)
[apiserver] Fix appinstaller.serverWrapper.RegisteredWebServices() to return the RegisteredWebServices from the underlying apiserver's Handler's GoRestfulContainer, matching the logic in grafana-app-sdk's apiserver.KubernetesGenericAPIServer
2025-09-23 10:32:03 -04:00
Stephanie Hingtgen ab9f2dc9ef Provisioning: Prevent dashboard imports on provisioned folders (#111476) 2025-09-23 14:24:04 +00:00
Ryan McKinley 94b82b0e5e Stars: Manage from apiserver (#111368) 2025-09-23 17:13:05 +03:00
Tobias Skarhed 8317188570 Scopes: Reset query functionality (#111470)
* Reset query functionality

* Remove unused variable

* Reset node query on expansion
2025-09-23 15:58:25 +02:00
Lauren e4edb7b7bc Alerting: Display error message in central state history view (#111445) 2025-09-23 15:55:53 +02:00
Yuri Tseretyan 42d64929d8 Alerting: Add version to Integration front-end model (#111421) 2025-09-23 15:54:12 +02:00
Yuri Tseretyan 896a56ada8 Migrate Alerting Notifications API to app installer (#109309)
* migrate to new manifest format
* rename app to alerting.notifications to not conflict with rules
* disable custom field selectors as they are not supported in appinstaller
2025-09-23 09:42:40 -04:00
Ryan McKinley 6c5bd69f98 Folders: Improve integration tests (#111474) 2025-09-23 08:39:21 -05:00
Matheus Macabu 5f3cb3fe4f Actions: Clarify Enterprise sync for wire-gen drift in PRs (#111468) 2025-09-23 15:33:34 +02:00
Ryan McKinley 9887a4184d Annotations: Add frontend api wrapper (#111452) 2025-09-23 16:08:24 +03:00
Hugo Kiyodi Oshiro c16c764c6f Plugins: Set isProvisioned for local plugins without remote counterpart (#111268) 2025-09-23 09:58:06 -03:00
Matias Chomicki 6d3b3ea239 LogLineDetailsFields: update word break (#111469) 2025-09-23 14:51:09 +02:00
Torkel Ödegaard dafedf84ce ToolbarSwitch: Fixes internal border radius and other issues (#111432) 2025-09-23 14:05:12 +02:00
Gábor Farkas 969eeb1d02 datasources: querier: deduplicate logging code (#111019) 2025-09-23 13:35:53 +02:00
Jacob Valdez 9a57c5e593 Docs: What's new and Upgrade guide v12.2 (#110727) 2025-09-23 13:35:41 +02:00
Sven Grossmann afcb6ac309 feat(investigations): add "Investigations" menu if loop enabled (#111462)
* feat(investigations): add "Investigations" menu if loop enabled

* feat(investigations): move to `shouldIncludeInvestigations`

* feat(investigations): add issue link
2025-09-23 13:24:10 +02:00
Alexa Vargas 4ebacdbdc2 Saved Queries: Expand saved queries in annotations (#111023)
* Base logic to show saved query buttons in annotations, v1 dashboards only

* Add support for v2

* remove unnecessary function

* add TODO for checking logic later and clean up code

* Fix issue on cross-datasource replacement

* remove unnecesary async

* refactor code, call the prepareAnnotation in savedQueryUtils instead of relying on verifyDatasource

* Add unit tests

* Refactor code, add comments for context

* Add missing unit tests

* Fix issue of skipping prepareAnnotation always, added skipping only for replace saved queries scenarios, added unit
tests

* implement datasource-agnostic query normalization
2025-09-23 12:21:41 +02:00
Torkel Ödegaard 3eab510c1b Theme: Changes light theme canvas color a more white shade (#111318)
* Theme: Changes light theme canvas color a more white shade

* Update
2025-09-23 12:11:14 +02:00
Ieva cbbbcd591d Resource permissions: Make sure that list response includes the next page token (#111446)
make sure that list iterator returns a next page token
2025-09-23 10:16:41 +01:00
Pepe Cano d471817cc7 ui(alerting): Update "Enter custom fieldName" placeholder (#109665)
* ui(alerting): Update custom template placeholder

* Use i18n unescape format, instead of JS unescape fn

* Run `make i18n-extract`

* edit code comment
2025-09-23 10:29:02 +02:00
Stephanie Hingtgen e53b5902fa Provisioning: Wire up tracing and add trace for job sync (#111455) 2025-09-22 22:23:29 -06:00
Kristina Durivage 8f7ddd3c4c First draft of it working 2025-09-22 20:15:46 -05:00
Stephanie Hingtgen 63e1d52663 Provisioning: Add metrics around webhooks (#111453) 2025-09-22 16:53:50 -05:00
Stephanie Hingtgen 8b1caccc72 Provisioning: Add metrics for repo controller (#111450) 2025-09-22 20:14:03 +00:00
Stephanie Hingtgen a2d09490ae Provisioning: Allow setting concurrent jobs settings and add metric (#111451) 2025-09-22 20:07:22 +00:00
Stephanie Hingtgen b02d2762f5 Provisioning: Add metrics to jobs (#111447) 2025-09-22 19:05:34 +00:00
Ryan McKinley 172e040065 Live: remove annotations.Repository (#111433) 2025-09-22 21:59:34 +03:00
Torkel Ödegaard 28c19036f1 ButtonSelect: Fixes menu shadow (fixes issue with RefreshPicker) (#111431)
* ButtonSelect: Fixes menu shadow

* Update e2e tests to look in portal
2025-09-22 19:55:27 +02:00
Stephanie Hingtgen bd550d2f06 Provisioning: Wire up prometheus (#111444) 2025-09-22 09:54:50 -05:00
Santiago 04bc71fa6d Alert State History: Skip invalid entries when merging streams (#111387) 2025-09-22 12:29:39 +02:00
dependabot[bot] a8e900ed9b Bump github.com/google/wire from 0.6.0 to 0.7.0 (#111281)
* Bump github.com/google/wire from 0.6.0 to 0.7.0

Bumps [github.com/google/wire](https://github.com/google/wire) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/google/wire/releases)
- [Commits](https://github.com/google/wire/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: github.com/google/wire
  dependency-version: 0.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update wire

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-21 15:36:24 +00:00
Kristina Durivage 141885acae WIP 2025-09-19 18:21:45 -05:00
Kevin Minehart 8a099123b9 CI: npm tag-nightly doesn't need publish (#111424)
tag-nightly doesn't need publish
2025-09-19 22:34:05 +00:00
Charandas e5121e8762 feat: customizable persistent volumes for devenv docker blocks (#111412) 2025-09-19 18:48:31 +00:00
maicon b3ed600bca Revert "Unistore: Add validation for resource names" (#111408)
Revert "Unistore: Add validation for resource names (#110990)"

This reverts commit b63e3fd3ae.
2025-09-19 18:03:23 +00:00
Piotr Jamróz 316b5fe538 Explore: Disable compact mode for ClickHouse plugin (#110869) 2025-09-19 18:12:41 +02:00
Ivan Ortega Alba c0ce4ff1f2 Dashboards: Fix missing Ctrl+O keyboard shortcut for crosshair toggle (#111310)
* Dashboard Scenes: Fix missing Ctrl+O keyboard shortcut for crosshair toggle

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

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

* Remove waitForTimeout from e2e test

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

* Optimize e2e test for crosshair keyboard shortcut

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

* Fix linting
2025-09-19 16:03:02 +00:00
Stephanie Hingtgen 6203a6f3c5 Provisioning: Allow non-loopback config (#111353) 2025-09-19 09:58:36 -05:00
colin-stuart 1ef27e9749 Auth: Add SCIM settings permission to auth config writer role (#111326)
* Auth: add SCIM settings permission to authentication config writer role

* make update-workspace
2025-09-19 09:55:18 -05:00
mohammad-hamid db61acf513 grafana-iam: prevent duplicate permissions upon ResourcePermission create (#111361)
prevent duplicate permissions
2025-09-19 16:55:08 +02:00
Victor Marin 0db140e697 Dashboard: New measurements on variable timings (#110709)
* create new interaction profiler behaviour and also use it to measure scopes fetching times

* PR mods

* refactor

* add canary scenes

* refactor

* refactor

* canary version

* add config flag for scope measurements

* refactor

* fix
2025-09-19 14:41:14 +00:00
Torkel Ödegaard 3dc30b5acb Buttons: Active style for buttons (#111235)
* chore: initial tweaks

* chore: remove shadow

* chore: add reduced motion support, clean up

* chore: clean

* chore: active states tweaks

* Buttons: Add active state / style

* Update ToolbarButton and IconButton

* Update

* Update

* Get rid of important on disabled styles

* Only color for active

* Remove transform bits

---------

Co-authored-by: Galen <galen.kistler@grafana.com>
2025-09-19 16:10:33 +02:00
Misi c20fdbe39e IAM: Fix display_query.sql (#111388)
Fix
2025-09-19 14:09:28 +00:00
Andreas Christou 047b40fb54 Azure: Increase test timeout (#111370)
Increase test timeout
2025-09-19 15:08:49 +01:00
Tobias Skarhed 00c9145929 Scopes: Selector search highlighting (#111295)
* Add scopes search highlight with wildcard support

* Change so query is not being applied to parent

* Update e2e tests with more stable selectors

* Fix initial load query

* Use the Highlighter library instead

* Remove unused sanitization

* Remove undefined export
2025-09-19 15:51:24 +02:00
Alex Khomenko 460f776e6f Provisioning: Skip folder sync when repository is empty (#111371)
* Provisioning: Skip folder sync when repository is empty

* Simplify condition

* Fix condition
2025-09-19 16:50:47 +03:00
Victor Marin 5299878253 TimeRangePicker: Enhance panning keys (#111175)
* extend timepicker to receive pan duration

* i18n

* scenes canary for testing

* refactor

* refactor

* refactor

* canary version

* refactor

* fix

* bump scenes
2025-09-19 16:50:36 +03:00
Yuri Tseretyan f166968357 Alerting: Refactoring ConfigRevision methods (#111192)
* make validateReceiver private

* make functions and type alias private

* move EncryptedReceivers and DecryptedReceivers to notifier package

to reduce exposure of definitions package via legacy_storage

* return receivers with Grafana origin after create\update

* add tests for ConfigRevision methods
2025-09-19 09:46:35 -04:00
Alex Khomenko a5517d72ee Provisioning: Disable pull button when job is in progress (#111382) 2025-09-19 16:27:17 +03:00
Haris Rozajac 2e53c0cec6 Schema V2 Dashboard Import: Don't include built in ds in inputs (#111335) 2025-09-19 07:25:37 -06:00
Josh Hunt bc281ab146 CI: Specify canary input when dispatching npm publish (#111375) 2025-09-19 13:07:33 +00:00
Ieva b7bb62747a Resource permissions: Fix permission cleanup during resource permission update (#111317)
* fix permission cleanup during resource permission update

* fix template tests
2025-09-19 14:04:05 +01:00
Daniele Stefano Ferru e69cc03ef9 Secret: add ability to configure extra owner decrypters (#111301)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-19 07:41:56 -05:00
maicon b63e3fd3ae Unistore: Add validation for resource names (#110990)
* Unistore: Add validation for resource names

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-19 09:37:17 -03:00
Alexander Akhmetov 63692fec55 Alerting: Add AlertEnrichment to the ProvisionedResource enum (#111354) 2025-09-19 14:20:50 +02:00
Gilles De Mey 72b7ea0b6b Alerting: Add support for vanilla rule_name[] query params (#111312)
add support for vanilla `rule_name[]` query params
2025-09-19 14:15:52 +02:00
Josh Hunt ed31b5eb48 CI: Pass Github Token into gh for npm publish (#111373)
CI: Pass Github Token into gh for npm publish
2025-09-19 11:57:09 +00:00
Andreas Christou 00d47ceb29 Azure: Fix possible nil pointer dereference (#111051)
* Fix possible nil pointer dereference

* Update pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go

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

---------

Co-authored-by: Adam Yeats <16296989+adamyeats@users.noreply.github.com>
2025-09-19 12:53:51 +01:00
Josh Hunt 75286f11f0 CI: Use workflow_dispatch from release-build for canaries (#111365)
* CI: Use workflow_dispatch from release-build for canaries

* fix workflow name
2025-09-19 11:23:58 +01:00
Stephanie Hingtgen 15ee224da5 Provisioning: Allow disabling of image rendering instance wide (#111359) 2025-09-19 12:40:14 +03:00
Matias Chomicki 19be779274 Log Controls: Show level filter based on levels from the logs results (#111264)
* LogListControls: add logLevels prop

* LogListControls: show levels from displayed logs

* LogListSearch: fix tooltips

* Revert "LogListSearch: fix tooltips"

This reverts commit fda27101ef.

* Update tests

* Prettier
2025-09-19 11:29:26 +02:00
Misi c012a95fa1 IAM: Add role to User (#111256)
* codegen fix

* Return user role from the legacy store

* Lint

* Add tests, gen openapi

* make generate

* revert go.mod, go.sum, go.work.sum changes

* Update go.mod and go.sum
2025-09-19 11:12:00 +02:00
renovate[bot] f48efa1003 Update dependency @grafana/assistant to v0.0.18 (#111316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 09:21:58 +01:00
Gareth d1793719a6 Tempo: remove final frontend api calls (#111315) 2025-09-19 16:20:12 +08:00
Sonia Aguilar 0a3579e222 Alerting: Fix labels values not being updated (#111362)
fix labels values not being updated
2025-09-19 09:40:32 +02:00
Sonia Aguilar 96f70df167 Alerting: Add ruleUid prop and improve test coverage (#111118)
* add isruleEditable check in per rule ui and details page

* add tests

* update translations

* revert logic for not editable rules => we will allow adding/deleting/updating enrichments per this rule

* update translations

* update test

* pr feedback

* lint
2025-09-19 08:30:56 +02:00
Hugo Häggmark 0e7a5ffc86 Chore: Removes remaining occurrences of angular_support_enabled (#111305) 2025-09-19 07:11:11 +02:00
grafana-pr-automation[bot] 6563de7e46 I18n: Download translations from Crowdin (#111356)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-19 00:38:22 +00:00
Charandas 76b3d855c7 fix: use multi client for provisioning API builder (#111144) 2025-09-18 16:35:40 -07:00
Josh Hunt 1d6c1da94f Fix referring to inputs (#111345) 2025-09-18 22:08:12 +00:00
Kevin Minehart 38af71ecd6 CI: Add workflows: write scope to bump-version (#111339)
Add workflows: write scope to bump-version
2025-09-18 21:25:04 +00:00
Cory Forseth b8f5effd85 Feat/add zanzana apiserver args (#111278)
* initialize permissionstore if ignoring legacy storage

* pass through feature toggles

* extract repeated logic to method

* remove extra TODOs

* workspace
2025-09-18 16:17:05 -05:00
Josh Hunt 24ec58d514 CI: Fix path to scripts in release-npm.yml workflow (#111330)
* fix path

* fetch depth

* fix missing env var

* limit fetch depth to just 100 commits

* specify version env var

* fix path

* set versions var

* update npm
2025-09-18 21:08:13 +00:00
Kevin Minehart 23e0adce07 CI: Send notification in PR when release-build is started (#111337)
Send notification in PR when release-build is started
2025-09-18 21:58:39 +01:00
Josh Hunt 07219567f4 Chore: Fix NPM workflow (#111325) 2025-09-18 18:09:04 +00:00
Syerikjan Kh af2e349668 Plugins: log the original error (#111322)
* chore: log the original error

* ref: create error with cause
2025-09-18 14:05:31 -04:00
Josh Hunt d96d7e680c NPM: Publish all packages in Github Actions (#111034)
* Initial npm-publish workflow

* Validate version type and version match, typecheck packages before building, set npm tag

* quote GITHUB_OUTPUT

* codeowners

* fix syntax in release-build

* only tag the latest version with latest

* don't require NPM_TOKEN env var to be set if using OIDC

* put comment back

* tighten script

* Codeowners

* Use workflow_call for canaries, Rename workflow to match release-build

* codeowners
2025-09-18 17:24:59 +00:00
Stephanie Hingtgen cb11bc15fa Provisioning: Allow disabling of instance sync (#111270)
---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-09-18 10:40:02 -05:00
Ezequiel Victorero 0ab7488305 ShortURL: Use RTK Query with the new k8s api (#111261) 2025-09-18 12:37:21 -03:00
jcolladokuri c97a7bc2ce Prometheus: Add aria labels on query builder options for screen readers (#111271)
* add aria labels for screen readers on option gorups

* add  translation extraction
2025-09-18 08:12:00 -07:00
Yunwen Zheng b48131b6bf BulkActionError: Add Git Sync Error Display for Bulk Delete and Bulk Move (#111195)
* BulkDeleteProvisionedResource & BulkMoveProvisionedResource: display error

* use ProvisioningAlert component

* MoveProvisionedDashboardForm use ProvisioningAlert

* DeleteProvisionedDashboardForm use ProvisioningAlert
2025-09-18 11:09:00 -04:00
Mihai Turdean aaa8094a53 Add more metrics to the IAM Folder Reconciler (#111275)
* Add more metrics to the operator

* Add namespace when logging metrics

* Skip flaky test
2025-09-18 09:03:32 -06:00
Costa Alexoglou 28952cc490 fix: inaccurate reported changes (#111309) 2025-09-18 09:40:01 -05:00
Alexander Zobnin 72d212c5f9 Authlib: Update authz client to use zookies (#111291)
* Authlib: Update authz client to use zookies

* fix zookie return

* fix linter
2025-09-18 16:24:22 +02:00
Haris Rozajac 0aa5dee86a Dashboard Migrations: Report metrics when migration fails (#111212)
* return migration error when running a conversionFunc

* fix tests
2025-09-18 08:11:15 -06:00
renovate[bot] ab00074734 Update dependency marked to v16.3.0 (#111298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 15:08:25 +01:00
Andreas Christou bb658be486 Azure: Disable E2E tests on main (#111307)
Disable Azure E2E tests on main
2025-09-18 15:02:05 +01:00
Adela Almasan ad37c41227 TimeComparison: Add tracking (#111267) 2025-09-18 08:45:56 -05:00
Ryan McKinley 9743e0c903 DualWriter: Error when folder+dashboard modes do not match when running mode4+ (#111286) 2025-09-18 16:43:39 +03:00
Levente Balogh 9d822646dd Dashboards: Remove the showInControlsMenu prop from the variable models (#111287)
* refactor: remove the `showInControlsMenu` prop from variable models

* fix: remove property from generated openapi
2025-09-18 13:16:30 +00:00
Mihai Doarna 7c2846dfdf IAM: Add String() method to DBTime struct (#111308)
add String() method to DBTime struct
2025-09-18 15:41:20 +03:00
Bruno acd9838701 caching middleware: handle req.PluginContext.DataSourceInstanceSettings being nil (#111258)
* caching middleware: handle req.PluginContext.DataSourceInstanceSettings being nil

* add test case
2025-09-18 09:40:04 -03:00
Zoltán Bedi bef45bccd8 Postgres: PGX fix error source (#111250)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-09-18 14:17:39 +02:00
Todd Treece 7d96e6cdf9 Revert "Wire: Add provider lint" (#111306)
This reverts commit 4de8cfb14a.
2025-09-18 12:07:55 +00:00
Jack Westbrook 98e7dfcc83 Frontend: Fix start scripts (#110510)
fix(frontend): fix start script param passing with nx dependson check-frontend-dev
2025-09-18 14:07:33 +02:00
Mihai Doarna 9d9dca3208 IAM: Adds the team creation endpoint in app platform (#111003)
* implement team creation for legacy store

* add generated code

* add basic integration test

* add new fields to get and list teams

* fix sql tests for teams

* register dual writer for team resource

* add generated code

* add more sql tests for team creation

* address feedback

* add integration tests
2025-09-18 14:43:07 +03:00
maicon 975ba0bf8b Annotations: avoid IN on getAccessControlFilter if dashboardUID is present (#111213)
Annotations: avoid IN on getAccessControlFilter

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-18 07:47:54 -03:00
Ieva 7bd20b98ba AuthZ: code and error cleanup (#111037)
* use API errors where possible

* fix test
2025-09-18 11:38:02 +01:00
Andreas Christou 51d3624bf9 Graphite: Migrate query endpoint entirely to backend (#111138)
* Update query type

* Support metric tank queries

- Update tests
- Appropriately set URL parameter

* Support queries via the backend

- Add the filterQuery and applyTemplateVariables methods
- Separate the frontend query path into its own function
- Ensure format is always json
- Add method for building backend query objects (maintain the existing template replacement logic)
- Fix a bug in metric find queries

* Update tests

* Fix lint

* Update types
2025-09-18 11:14:24 +01:00
Santiago 8f9d8f1154 Remote Alertmanager: Fix log line in the Mimir client (#111293) 2025-09-18 10:07:16 +00:00
renovate[bot] e6f1f2c45d Update dependency rc-slider to v11.1.9 (#111290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 10:06:14 +00:00
renovate[bot] eaa09701e3 Update dependency lru-cache to v11.2.1 (#111288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 09:32:18 +00:00
Dana Axinte 1f071f5bd7 Secrets: Adding developer mode config (#111008)
adding developer mode and feature flags for e2e tests
2025-09-18 10:10:24 +01:00
renovate[bot] fcf781c24a Update dependency lossless-json to v4.2.0 (#111266)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 10:07:24 +01:00
Levente Balogh 2aa979b863 Dashboard Controls (#111245)
* refactor: use the `hide` property for the dashboard controls

* tests: fix failing tests

* fix: linting issues
2025-09-18 10:43:08 +02:00
Sergej-Vlasov db170d3642 Repeats: Add E2E tests for auto grid repeats (#111075)
* add e2e test for custom grid repeats

* update codeowners file

* adjust embedded panel test to account for different base url

* replace waitFor

* run bookmark e2e consecutively

* add repeats e2e tests for auto grid

* clean up

* adjust e2e test
2025-09-18 07:27:27 +00:00
Sergej-Vlasov c65704895e Repeats: Add E2E tests for custom grid repeats (#110884)
* add e2e test for custom grid repeats

* update codeowners file

* adjust embedded panel test to account for different base url

* replace waitFor

* run bookmark e2e consecutively
2025-09-18 10:11:35 +03:00
Stephanie Hingtgen 90371c16c1 Folders: Add in mode3 tests (#111276) 2025-09-17 22:33:52 -03:00
grafana-pr-automation[bot] 60fbead3ac I18n: Download translations from Crowdin (#111280)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-18 00:37:04 +00:00
Lauren a9de287607 Alerting: Move AlertLabels to alerting package (#111104)
* Alerting: move AlertLabels to alerting package

* add story & test for AlertLabel

* export label component from alerting package

* rename Label to AlertLabel

* resolve PR comments

* update imports

* export types from internal

* run yarn i18n-extract

* align with WAI-ARIA standards

* export AlertLabels props

* update failing test

* move labels components to alerting unstable

* alertlabel updates

* update test props

* update types and props

* update test prop types

* update types and props

* add role list to AlertLabel parent

* update story

* ensure color contrast accessibility

* move findCommonLabels into AlertLabels component

* unset size as small for tag

* update logic to get readable colors

* make label and value fonts accessible

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2025-09-17 23:03:00 +01:00
Todd Treece 4de8cfb14a Wire: Add provider lint (#110573) 2025-09-17 16:19:08 -04:00
Haris Rozajac e34b90a024 Dashboard Export: Fix datasource variable templating in dashboard export (#109764)
* wip investigation

* improve

* cleanup

* betterer

* Improve v2 import
2025-09-17 18:55:03 +00:00
Ryan McKinley 14b6e60f31 Folders: Add better integration tests (#111241) 2025-09-17 20:19:50 +03:00
Drew Slobodnjak b7fa49765d TimeComparison: Ensure dashboardScene is enabled (#111225) 2025-09-17 09:41:11 -07:00
Drew Slobodnjak 5556bcbc52 TimeComparison: Ensure headerActions are activated (#111224) 2025-09-17 09:30:35 -07:00
renovate[bot] 36be562a4a Update dependency vis-data to v8.0.3 (#111263)
Update dependency vis-data to v8.0.2

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 16:28:56 +00:00
renovate[bot] c4474139a3 Update dependency leven to v4.1.0 (#111259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 16:32:40 +01:00
Matias Chomicki aaccd22a45 Logs Panel: Add unique labels support for dashboards (#111124)
* New logs panel: add basic show unique labels support

* LogList: switch to useMeasure to detect overflow

* LogList: remove debounce from size calculations reset

* Update test

* LogLine: keep unique labels expanded state between re-renders

* Remove hardcoded true

* LogListModel: add new property

* LogLine: switch to custom resize observer

* Revert removed changes

* Imports order

* Add missing function call in effect

* LogList: use improved debouncing for overflow

* LogLine: refactor resize listeners

* LogLine: mix observer with animation frame

* Prettier

* LogLabels: make button smaller

* LogLine: fix unwrapped unique labels

* Prettier

* LogListContext: sync mode only if not empty

* Revert "LogListContext: sync mode only if not empty"

This reverts commit 2b78249b35.

* module: remove default value
2025-09-17 15:26:42 +00:00
Stephanie Hingtgen 91008cc82e Provisioning: Fix cleanup (#111257) 2025-09-17 10:11:25 -05:00
renovate[bot] 27544655a9 Update dependency @reduxjs/toolkit to v2.9.0 (#111242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 15:51:52 +01:00
Stephanie Hingtgen ef0ed52ba7 Provisioning: Skip test while being looked at (#111254) 2025-09-17 14:46:19 +00:00
Piotr Jamróz 28696972d8 Logs Panel: Fix setting default details mode (#111251)
* Logs Panel: Fix setting default details mode

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

Co-authored-by: Matias Chomicki <matias.chomicki@grafana.com>

* Prettier

* LogListContext: sync mode only if not empty

---------

Co-authored-by: Matias Chomicki <matias.chomicki@grafana.com>
Co-authored-by: Matias Chomicki <matyax@gmail.com>
2025-09-17 14:41:41 +00:00
Piotr Jamróz 911df89725 Data Links: Store interpolated query in link models (#110912)
* Data Links: Store interpolated query in link models

* Fix types

* Fix type guard

* Fix linting

* Fix tests

* Fix tests

* Fix tests

* Fix linting

* Simplify the code

* Linting

* Linting

* Revert redundant changes

* Update test

* Infer types

* Linting

* Fix null check

* Rename prop

* Rename prop

* Rename prop

* Drop interpolatedParams from span link

* Drop interpolatedParams from span link
2025-09-17 16:36:53 +02:00
Dan83 abcf939a0f Chore: Remove gf-form from InfluxDB FSQLEditor (#111057) 2025-09-17 15:33:10 +01:00
Alex Khomenko dacd2e27c0 Provisioning: Onboarding tweaks (#111233)
* Provisioning: Onboarding tweaks

* Provisioning: Update managed messages
2025-09-17 17:31:02 +03:00
Hugo Kiyodi Oshiro 61e62a4de0 Enterprise: Make banners show for unlicensed enterprise (#111042) 2025-09-17 10:53:51 -03:00
Stephanie Hingtgen 163b9007a7 Provisioning: Fix flaky tests and race condition in folder existing check (#111209)
Provisioning: Fix some of the flakiness
2025-09-17 08:37:10 -05:00
Yuri Tseretyan c36b2ae191 Alerting: v0 schema for integrations (mimir) (#110908)
* generate schema for mimir integrations from schema on front-end
* review and fix the settings
* Update GetAvailableNotifiersV2 to return mimir as v0
* add version argument to GetSecretKeysForContactPointType
* update TestGetSecretKeysForContactPointType to include v0
* add type alias field to contain alternate types that different from Grafana's
* add support for msteamsv2
* update ConfigForIntegrationType to look for alternate type
* update IntegrationConfigFromType to use new result of ConfigForIntegrationType
* add reference to parent plugin to NotifierPluginVersion to allow getting plugin type by it's alias
* add tests to ensure consistency
* make API response stable
* add tests against snapshot + omit optional fields
2025-09-17 09:25:56 -04:00
Kristina a6db37c2b7 Correlations: Create first version of correlations on app platform (#110843)
* WIP

* Generate API

* use different logging, change typing as recommended

* Add feature flag and only add to installer when enabled

* add codeowner

* Lint/fmt

* fix dockerfile

* move from UID to group/name reference

* add generated code

* change from enterprise build

* build workspace

* Remove deprecated field, build api, build for enterprise, build workspace

* Not sure what caused this..

* Rebuild?

* Fix this file

* update sdk

* update sdk

* fix workspace

* fix test build

* add to go.mod

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-17 08:07:45 -05:00
Johnny Kartheiser 82e5019333 alerting docs: update list view filtering description (#110885)
* alerting docs: update list view filtering description

update the description of the list view filter on the view alert rules page.

* img

* Update view-alert-rules.md

* Update view-alert-rules.md

* edit via lauren
2025-09-17 14:51:35 +02:00
renovate[bot] 482598958b Update dependency @opentelemetry/semantic-conventions to v1.37.0 (#111236)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 14:11:29 +02:00
linoman 8fb2b5022b SAML Catalog: Add documentation for OIN (#111193)
* Improve docs for consistency

* Add docs for Okta catalog application

* Add supported features

* Fix Markdown formatting in SAML with Okta guide

---------

Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-09-17 13:47:22 +02:00
Tom Ratcliffe 3ea093b596 Folders: Refactor hooks to (eventually) consume app platform /counts endpoint (#110894) 2025-09-17 12:46:59 +01:00
Jean-Philippe Quéméner 4f43761630 fix(unified-storage): track mode 5 correctly (#111234) 2025-09-17 11:25:43 +00:00
renovate[bot] 750547c862 Update Yarn to v4.9.4 (#111232)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:07:20 +00:00
renovate[bot] 4b7720784e Update React Aria (#111187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 11:39:13 +01:00
Gabriel MABILLE ee34c015ce grafana-iam: Fix context for identity store queries to work (#111228)
`grafana-iam`: Fix context for identity store

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-17 11:24:58 +01:00
Matias Chomicki a044f567a8 Logs Panel: Sync visual options in panel editor (#111163)
* Logs panel: sync visual options in panel editor

* LogListContext: sync uniqueLabels

* Tranlations

* Prettier

* PrettifyJSON before syntax highlighting

* Update LogListContext.tsx

* LogListContext: fix prettify json option callback

* LogListControls: fix third state for wrapping

* Update test

* chore: fix label capitalization
2025-09-17 10:13:13 +00:00
Alex Khomenko 8c284cbcba Restore dashboards: Filter out v0 dashboards from v2 response (#111165) 2025-09-17 12:49:50 +03:00
Costa Alexoglou 0248a393d7 fix: dashboard upsert with empty ref (#111190)
* fix: dashboard upsert with empty ref

* chore: cleanup

* fix: branches in other git providers and linter
2025-09-17 11:49:15 +02:00
Torkel Ödegaard e8a05f72cb Design: Fixes minor spacing issue in plugin browse and new connection (#111185) 2025-09-17 11:11:28 +02:00
Peter Štibraný 48250a1605 Introduced options to ignore old indexes based on build time and build version. (#111168) 2025-09-17 10:59:59 +02:00
grafana-pr-automation[bot] 1a035094e5 I18n: Download translations from Crowdin (#111214)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-17 08:42:54 +00:00
Levente Balogh 1564a49373 Floating UI: Update to use the .main-view as a boundary (#111089)
* fix(Dropdown): update the boundary to the `.main-view`

* apply floating-ui changes everywhere

* remove some unused imports

* up timeout on this test cause it's unbelievably slow

* don't spread when not necessary

* fix case in panel edit on small screens

---------

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-17 09:40:49 +01:00
dependabot[bot] 3cc99ba811 Bump github.com/hashicorp/hcl/v2 from 2.17.0 to 2.24.0 (#111218)
Bumps [github.com/hashicorp/hcl/v2](https://github.com/hashicorp/hcl) from 2.17.0 to 2.24.0.
- [Release notes](https://github.com/hashicorp/hcl/releases)
- [Changelog](https://github.com/hashicorp/hcl/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hashicorp/hcl/compare/v2.17.0...v2.24.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/hcl/v2
  dependency-version: 2.24.0
  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-09-17 08:16:56 +00:00
dependabot[bot] 731e0dfe99 Bump github.com/centrifugal/centrifuge from 0.35.0 to 0.37.2 (#111217)
Bumps [github.com/centrifugal/centrifuge](https://github.com/centrifugal/centrifuge) from 0.35.0 to 0.37.2.
- [Release notes](https://github.com/centrifugal/centrifuge/releases)
- [Changelog](https://github.com/centrifugal/centrifuge/blob/master/changelog.md)
- [Commits](https://github.com/centrifugal/centrifuge/compare/v0.35.0...v0.37.2)

---
updated-dependencies:
- dependency-name: github.com/centrifugal/centrifuge
  dependency-version: 0.37.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-09-17 09:37:00 +03:00
Stephanie Hingtgen c85776614e App sdk: Update to v0.45.0 (#111222) 2025-09-17 09:03:30 +03:00
Gareth e28f67fb4c Tempo: migrate search queries to the backend (#109800)
* migrate search queries to the backend

* set duration unit to ms

* remove error log for debugging

* support nested frames and improve url handling

* formatting in search.go

* space

* run make update-workspace

* remove un-necessary fmt.Sprintf

* add support for span table format

* update fn names and re-order

* support raw format

* revert go.mod and go.sum

* remove frontend logic

* remove any types from typescript

* fix golint

* add tests

* fix golangci-lint

* refactor and implement suggestions

* fix tests

* update data frame type

* remove console log

* fix

* use fallthough to traceql type

* use tempo backend for traceql queries

* update tests

* fix golangci-lint

* Correct types for Fields, allow nulls

* add feature toggle definition

* put backend logic behind feature toggle

* Change toggle default to false

* Remove console.log. Fix crash from missing table type

* fix tests

* fix backend tests

---------

Co-authored-by: Andre Pereira <adrapereira@gmail.com>
2025-09-17 12:02:08 +08:00
Stephanie Hingtgen d451cb6dcc Provisioning: Skip another flaky test (#111198) 2025-09-16 19:28:59 +00:00
Stephanie Hingtgen c4d89a7a09 Provisioning: Add back most integration tests; skip flaky ones (#111197) 2025-09-16 14:50:08 -04:00
Ida Štambuk 0be2394372 Dynamic Dashboards: Add new tracking events for dashboard interactions (#111022) 2025-09-16 18:40:34 +02:00
jcolladokuri 7e13882a1a Prometheus: Fix ad hoc filters when using explore table column filtering (#111141)
* add support for ad hoc filtering from explore

* fix test

* remove helper function and keep check in if statement
2025-09-16 08:48:52 -07:00
Alex Khomenko 571b3226ba Dashboard search: Return description in search results (#110857)
* DashList: Add description

* Support unified storage

* Support unified storage[2]

* Exclude description from field

* Cleanup

* add description

* Revert dashlist changes

* Update cue

* Fix test

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-16 18:17:22 +03:00
jcolladokuri fad8891b1a Prometheus: Improve indication of labels loading when using metrics browser. (#111127)
* add loading spinner for labels and values selectors for prom

* add small margin bottom to hints to avoid component overlap when zoomed in
2025-09-16 07:52:18 -07:00
Alex Khomenko be61b37682 Provisioning: Use sync job for moving single resources (#111027)
* Provisioning: Use sync job for moving single resources

* cleanup

* Update messages

* Update tests

* Wait till job is completed

* Only animate forward progress

* revert

* i18n

* Fix clearing deleted folders

* Cleanup
2025-09-16 17:41:36 +03:00
Mustafa Sencer Özcan 4c2240dcc3 fix: introduce an init lock for the storage backend integration tests (#111166) 2025-09-16 14:18:06 +00:00
Ezequiel Victorero 6811cc1aa9 Share: Remove new share drawer feature flag (#111048) 2025-09-16 10:57:49 -03:00
Yunwen Zheng 0baacd8d5a RepositoryStatusPage: Card grid layout for small screen fix (#111136) 2025-09-16 09:43:43 -04:00
Misi 29551a6edf IAM: Implement Delete in Service Account API (#110584)
* wip

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

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

* Format, update test

* Fixes

* Add check for External

* wip

* Fix merge

* wip

* Use plugin name instead of title for ext svc account login

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

* Remove OrgID from DeleteUserCommand

* Use the new authorizer

* Fix tests

* cleanup

* Move test to enterprise

* Revert unnecessary change

* Address feedback

* Revert "Address feedback"

This reverts commit 8ab9559076.

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-16 15:39:01 +02:00
Yuri Tseretyan 356521c9b9 Alerting: Annotation CanUse for receiver resource (#110839)
* add origin to receiver
* populate origin of the receiver
* set CanUse to false if origin is not Grafana
* set provenance if origin is imported
* set Grafana origin by default in conversion API
* set canUse annotation
* reject update\delete operations on resources with origin other than Grafana
* fail to create with wrong origin
2025-09-16 09:32:04 -04:00
Victor Marin a15b6ec2a2 PanelOptions: Use existing overrides when changing panel types (#111016)
use existing overrides when changing panel types
2025-09-16 16:30:30 +03:00
renovate[bot] 01b696d66c Update dependency @bsull/augurs to v0.10.1 (#111182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 14:28:52 +01:00
Bogdan Matei 2ede582aa0 Dashboard: Add feature flag for undo/redo (#111096) 2025-09-16 16:03:16 +03:00
Will Assis 6b2fb782c8 fix (unified-storage): search returning empty results when query includes small term (#111140)
* fix search not returning anything when a word in the query has less than 3 characters

* fix test name

* fmt

* remove trimspace
2025-09-16 08:55:23 -04:00
Misi 81fe57478f Chore: Improve short url redirection (#111162)
Improve short url redirection
2025-09-16 14:48:17 +02:00
renovate[bot] f3d9bb3219 Update dependency ol-ext to v4.0.35 (#111116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 13:46:38 +01:00
Lucy Chen be9ce8a5ff CloudMigration: Fix flakey test (#111126)
* fix flakey test

* remove skip

* change require
2025-09-16 12:39:14 +00:00
Hugo Häggmark 35df3ae554 Chore: filter out bots from frontend logging (#111157)
* Chore: filter out bots from frontend logging

* chore: updates after PR feedback

* chore: change solution to use beforeSend
2025-09-16 14:13:06 +02:00
lean.dev c6fe19b472 FeatureToggleAdminPage: fix owner of feature toggle (#111172) 2025-09-16 13:12:23 +01:00
Jo 321c3f8ec1 Authorization: update OpenFGA (#111094)
update openfga to v1.10
2025-09-16 13:23:46 +02:00
Tobias Skarhed bf31c67159 Secrets: Add route for secrets UI (#111161)
Add secrets route
2025-09-16 13:00:37 +02:00
Sonia Aguilar 1f1f2ae18f Alerting: Update default payload for template preview (#111159)
update default payload for template preview
2025-09-16 12:51:44 +02:00
Ryan McKinley 0a79b3bdc5 Chore: Upgrade k8s.io/api v0.34.1 and grafana-app-sdk v0.43.1 (#111009) 2025-09-16 13:35:20 +03:00
Georges Chaudy c251ebf4d5 kvstore: merge the metadata store into the datastore (#110334)
* migrate eventstore to datastore

* Add folder to event key

* lint

* lint

* lint

* lint

* remove foundkye

* refactor the Keys methods to move the Sort outside the ListKey method

* remove bad import

* fix missing params

* lint

* fix test

* perf improvement
2025-09-16 12:16:29 +02:00
Costa Alexoglou 8a352cc352 fix: reduce logs for Github repo.build (#111117)
* fix: reduce logs for Github repo.build

* ci: go workspace
2025-09-16 09:57:08 +00:00
Alexander Zobnin 38e5298807 Authz: Skip cache in List request if option provided (#110864)
* Authz: Skip cache in List request if option provided

* return timestamp with list response

* update authlib

* add skipCache option test

* refactor

* fix tests

* update workspaces

* Set zookies depending on cache hit

* update workspaces

* Fix nil pointer
2025-09-16 11:27:07 +02:00
Alexander Akhmetov a5ad4715a6 Alerting: Fix start with unified_alerting disabled (#111160) 2025-09-16 08:56:09 +00:00
Peter Štibraný f77e99d965 Store build time and build version into index. (#111010) 2025-09-16 10:52:30 +02:00
Eric Leijonmarck 868e3a5e8e grafana-iam: Adds config opts for RBACRemoteClient for load balancing (#110819) 2025-09-16 09:49:37 +01:00
grafana-pr-automation[bot] 22b96c7c3e I18n: Download translations from Crowdin (#111143)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-16 08:40:28 +00:00
Will Browne b154763d04 Chore: Bump prometheus/client_golang to v1.23.2 (#111123)
bump prometheus/client_golang to v1.23.2
2025-09-16 09:26:50 +01:00
Hugo Häggmark 2c3baabfa1 PanelModel: Removes the isAngularPlugin function (#110799)
Chore: removes isAngularPlugin function from PanelModel
2025-09-16 07:09:41 +02:00
Todd Treece d08a7abfbb Provisioning: Temporarily skip flaky tests (#111128) 2025-09-15 16:45:29 -04:00
Kevin Yu c4e8c7b562 CloudWatch: Add clusterId to dimension list for AWS/ElastiCache namespace (#111132) 2025-09-15 12:34:29 -07:00
Ida Štambuk 544582e495 Dynamic Dashboards: Add tracking for item actions (#111059) 2025-09-15 20:54:43 +02:00
Kyle Brandt 4583402ba9 SQL Expressions: Instrumentation fix and extra testing (#110778) 2025-09-15 13:00:22 -04:00
Bruno 3b8ea08ad7 skip Test_GetSnapshotStatusFromGMS (#111122) 2025-09-15 16:45:46 +00:00
Paul Marbach bb9b890e8c Table: Styling from field (#110991)
* Table: Styling from field

* fix mistake with gdev

* e2e for kitchen sink

* add counter-example in e2e for completeness

* unit tests for utils

* update to store style field per-column, replace util

* optimize branches column-level variables
2025-09-15 10:34:12 -05:00
Bruno c61624ad3c Query caching: add request deduplication middleware (#110892)
* secrets: update test to accept []byte(nil) and []byte{} (#110630)

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>

* Query caching: add request deduplication middleware

* log error if unable to build cache key

* remove TODO

* always use req.PluginContext.DataSourceInstanceSettings.UID

* make update-workspace

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-09-15 12:07:47 -03:00
renovate[bot] c3bb8412cf Update dependency immer to v10.1.3 (#111088)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 14:49:03 +00:00
Alex Khomenko c96427c193 Restore dashboards: Disable clicks for deleted dashboards (#111083) 2025-09-15 17:48:22 +03:00
Kristina 1c297e48b8 Transformations: Calculate > Reduce should assume 0 for falsy values if field type is number (#110632)
* If number field, blank counts as 0

* Add test
2025-09-15 09:38:14 -05:00
Victor Marin dfa692440c Dashboards: Support list of dashboards for tests to run against (#111084)
* Allow specifying a list of dashboards, both normal and reloabable, that the tests can run against

* refactor

* refactor

* lint
2025-09-15 17:34:28 +03:00
Vadim Stepanov d4bad37853 Alerting: Move notification historian to grafana/alerting (#109078)
* Move notification historian to grafana/alerting

* wip

* golangci-lint

* Revert "golangci-lint"

This reverts commit 10ccebad41.

* JSONEncoder

* alertingInstrument

* go mod tidy

* go.work.sum

* make update-workspace

* merge

* revert go.mod changes

* github.com/grafana/alerting

* make update-workspace

* update github.com/grafana/alerting

* merge
2025-09-15 15:23:51 +01:00
Ashley Harrison 7bba151416 Chore: bump axios to a version without CVE (#111076)
bump axios to a version without CVE
2025-09-15 15:20:17 +01:00
Ashley Harrison 04ca5d9ffd Geomap: Only prefix with grafana public path if relative url (#111081)
only prefix with grafana public path if relative url
2025-09-15 15:09:35 +01:00
Ryan McKinley a5bd313f5a ShortURL: Implement /goto with a sub-resource (#110972) 2025-09-15 16:56:20 +03:00
Will Browne 2df39fc71a Plugins: Add metrics for fs + cloud provisioning info (#111030)
* add new metrics for plugin fs + cloud provisioning

* fix test

* update label
2025-09-15 14:54:16 +01:00
Adela Almasan 5b07d7031a Actions: Add permission check to missing panels (#111021) 2025-09-15 13:47:20 +00:00
John Troy 585b53bc7d LDAP: Restore test user mapping functionality (#110841)
* Migrate LdapPage from connect() to React-Redux hooks

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

* prettier

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

* Bring back isLoading and put in a LoadingPlaceholder

* i18n-extract

* rejigger

* linter fix
2025-09-15 09:22:26 -04:00
Ashley Harrison 185e2234b5 Chore: Update generated scss (#111090)
update generated scss
2025-09-15 12:23:10 +00:00
Levente Balogh 4989c12695 Dashboard Controls: Make it possible to hide dashboard controls from the URL (#111001)
* feat: make it possible to hide dashboard-controls from the URL

* tests: update tests with the new url query param
2025-09-15 14:17:35 +02:00
Bogdan Matei fd8c7fbc22 Dashboard Datasource: Fix type assertion (#111082) 2025-09-15 15:02:48 +03:00
Andreas Christou 5d48747fea Graphite: Backend version endpoint (#110774)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Support tag values autocomplete

- Remove unused frontend endpoints
- Add types
- Update tests

* Support the version endpoint

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-15 12:56:08 +01:00
renovate[bot] 90f682151a Update dependency @types/jquery to v3.5.33 (#111085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 11:46:50 +00:00
Dominik Prokop 898b0fc1bb DashboardProfiler: Add long frame detection with LoAF API integration (#110443)
* feat: Add Long Animation Frame API support to dashboard performance monitoring

* Update dashboard profiler integration for long frame detection

- Remove LongFrameConfig parameter from SceneRenderProfiler constructor
- Update documentation to reflect LoAF-first detection strategy with 50ms threshold
- Remove references to configurable thresholds and script attribution
- Update console output examples to match new structured logging format
- Add related documentation reference to scenes PR #1235

* Update to scenes canary version with long frame detection

- Upgrade @grafana/scenes to 6.33.1--canary.1235.17401388269.0
- Upgrade @grafana/scenes-react to 6.33.1--canary.1235.17401388269.0
- Includes long frame detection implementation from PR #1235
- Update yarn.lock with new dependencies

* feat(performance): add PanelPerformanceData interface for panel-level metrics

- Create comprehensive panel performance data structure
- Include timing metrics, performance counters, and context data
- Add pluginLoadedFromCache flag to track cache usage
- Part of panel-level performance attribution implementation

* scenes bump

* Revert "feat(performance): add PanelPerformanceData interface for panel-level metrics"

This reverts commit 8547701672.

* fix lock

* Fix lock
2025-09-15 13:40:45 +02:00
renovate[bot] 268888da31 Update dependency @leeoniya/ufuzzy to v1.0.19 (#111080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 11:13:00 +00:00
Alexander Zobnin 294fd943c0 Chore: Update authlib (#110880)
* Chore: Update authlib

* exclude incompatible version of github.com/grafana/gomemcache

* Update go-jose to v4

* fix jose imports

* remove jose v3 from go.mod

* fix tests

* fix serialize

* fix failing live tests

* add v1 of ES256 testkeys. Port tests to use ES256 instead of HS256

* accept more signature algs for okta and azuread

* azure social graph token sig

* accept more signature algs for oauth refresh and jwt auth

* update workspace

* add a static signer for inproc

* rebase and fix ext_jwt

* fix jwt tests

* apply alex patch on gomemcache

* update linting

* fix ext_jwt panic

* update workspaces

---------

Co-authored-by: Jo Garnier <git@jguer.space>
2025-09-15 12:45:15 +02:00
Bogdan Matei 172febd690 Dashboard: Do not issue queries for panels outside the viewport (#111067) 2025-09-15 10:41:06 +00:00
Andreas Christou df2bb6be0a Graphite: Backend tag values autocomplete endpoint (#110773)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Support tag values autocomplete

- Remove unused frontend endpoints
- Add types
- Update tests

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint
2025-09-15 11:35:29 +01:00
renovate[bot] f392bb6f94 Update dependency @grafana/lezer-traceql to v0.0.24 (#111078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 10:24:48 +00:00
renovate[bot] e5fb888e6f Update dependency @grafana/google-sdk to v0.3.5 (#110756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-15 10:57:47 +01:00
Costa Alexoglou a52303de8d chore: faster image building for mt-tilt (#111074) 2025-09-15 11:52:01 +02:00
Jo ba65aa6529 AccessControl: Remove deprecated scope split migration (#111071)
remove scope migrator
2025-09-15 11:47:08 +02:00
Ryan McKinley afc08dbbbc Chore: go.mod updates (#110957) 2025-09-15 09:01:45 +00:00
Sergej-Vlasov f73cb477cb AutoGridItem: Reset repeatedPanels when disabling repeats (#111072)
reset repeatedPanels when disabling repeats
2025-09-15 08:59:40 +00:00
Gabriel MABILLE 6c35bb2c6e ExtSvcAccount: Remove expensive extsvc_total metric (#111031)
* ExtSvcAccount: Remove expensive `extsvc_total` metric

* Remove unused variables
2025-09-15 10:11:20 +02:00
grafana-pr-automation[bot] a3c95e1375 I18n: Download translations from Crowdin (#111052)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-14 00:30:21 +00:00
Ezequiel Victorero 135e9ef102 ShortURL: Use the new k8s api in the frontend (#110537) 2025-09-12 20:23:50 -03:00
Andreas Christou 211c0ca5c3 Graphite: Backend tags autocomplete endpoint (#110772)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-12 23:53:09 +01:00
Andreas Christou 3081ac166a Graphite: Backend functions endpoint (#110771)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint

* Lint
2025-09-12 23:23:44 +01:00
Moustafa Baiou cb7abbaa0f Alerting: Rename expression elements of Rules APIs (#110914)
This renames `data` to `expressions` for clarity in the rules apis.

Also makes certain fields that are redundant optional in the case of pure expressions, so that users don't have to specify them when they are not needed (e.g. not datasource queries).
2025-09-12 22:15:55 +00:00
Andreas Christou 3e0f57a407 Graphite: Backend metrics expand endpoint (#110678)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-12 22:35:10 +01:00
Paul Marbach f258d8a417 Table: Restore previous footer behavior of reducers applying to filtered data (#111041)
* Table: Restore previous footer behavior of reducers applying to filtered data

* update e2e to match new behavior
2025-09-12 17:33:06 -04:00
Paul Marbach cb37539ed7 Table: Fix logic to calculate footer height (#110954)
* Table: Fix logic to calculate footer height

* add non-numeric footer case to gdev

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

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

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

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

---------

Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-09-12 17:22:30 -04:00
owensmallwood 7ce971cba1 Unified Storage: Adds pruner for kv eventstore (#110785)
* Adds pruner for eventstore - default 24 hours. Adds tests.

* update comment

* remove delay on startup. formatting

* updates log message type and removes useless comment

* caller handles goroutine for runCleanupOldEvents()

* simplify timestamp extraction

* adds config for event pruning interval

* uses start and end key to get all expired events

* remove sort when listing keys in event pruner - order doesnt matter

* use snowflake constants

* log when we delete 0 rows

* pass time.Time to cleanup old events func
2025-09-12 14:40:16 -06:00
Stephanie Hingtgen c5ed2780ab Provisioning: Fix deletion order (#111043) 2025-09-12 20:02:13 +00:00
lean.dev c52eedbf23 CloudMigration: fix flacky test (#111046) 2025-09-12 19:46:11 +00:00
alerting-team[bot] 3e086d1133 Alerting: Update alerting module to f2728ab090eed9c6b70057b53239fb370d68e8ed (#111018)
[create-pull-request] automated change

Co-authored-by: santihernandezc <41638679+santihernandezc@users.noreply.github.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-09-12 15:01:13 -04:00
grafana-delivery-bot[bot] afc536118d Release: Bump version to 12.3.0-pre (#110974)
* update bump-version

* Add id-token: write

* update generate-token step

* pull-requests -> pull_requests

* clone with token and set right name

* bump version 12.3.0-pre

---------

Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
Co-authored-by: grafana-delivery-bot[bot] <grafana-delivery-bot[bot]@users.noreply.github.com>
2025-09-12 17:54:11 +00:00
Yuri Tseretyan 6afd532635 Make alerting team a sole owner of alerting tests (#111036)
make alerting team sole owner of alerting tests
2025-09-12 13:32:06 -04:00
Haris Rozajac de01b3e209 Dashboard Schema V2: Support panel actions (#110842)
* support panel actions

* refactor

* add test; move action transformer to utils

* refactor so v2 headers and queryParams are just a simple record

* update open api

* update actions to be same shape accross all dashboard schemas and add validation on the backend

* cleanup

* update snapshot

* add tests to validation
2025-09-12 11:31:05 -06:00
Misi ccc87a03f0 Fix: Fix redirection after login when Grafana is served from subpath (#110889)
Fix short link (/goto) redirection when Grafana is served from subpath
2025-09-12 17:15:15 +02:00
Isabella Siu e22fec10b6 Update docs for pdc+sigv4 (#110787)
* Update docs for pdc+sigv4

* Apply suggestions from code review

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>

---------

Co-authored-by: Larissa Wandzura <126723338+lwandz13@users.noreply.github.com>
2025-09-12 10:59:05 -04:00
Luminessa Starlight a27ace5cfb Accessibility: enable responsive reflow of variables in dashboard edit (#110967)
enable responsive reflow of variables in dashboard edit
2025-09-12 10:44:40 -04:00
Yunwen Zheng fc2de49b88 RepositoryList: Display managed resource count (#110916)
* RepositoryList: display managed resource count

* display partial managed alert

* Update public/app/features/provisioning/Wizard/hooks/useResourceStats.ts

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

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

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

* only count dashboard and folder

---------

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-09-12 10:20:29 -04:00
Hugo Häggmark 1b066c3565 Devenv: expose internal faro.receiver server (#111014) 2025-09-12 14:31:15 +02:00
Cory Forseth fbdfab8ceb Authz: add logs for monitoring (#110959)
* add logs for monitoring

* add logging around hook enablement
2025-09-12 07:04:31 -05:00
Jo edcd113054 Authz: Remove legacy API Key permissions (#110860)
* remove API key roles

* remove API key gen

* remove frontend and doc mentions

* restore legacy keygen

* restore codeowners

* prettier

* update swagger

* remove permissions including apikeys

* add migrator for removing deprecated permissions

* add tracing

* update openapi3

* simplify migrator for now

* accesscontrol/migrator: remove batching for deprecated permissions deletion
2025-09-12 13:59:37 +02:00
Daniele Stefano Ferru 1f7afc6b6a Provisioning: add unit and integration tests for finalizer validation (#111012)
* Add unit testS

* add integration tests
2025-09-12 13:57:31 +02:00
Galen Kistler 076c52e1b2 feat: add new expanded state to log options menu (#110725)
* feat: add new expanded state to log options menu
2025-09-12 05:37:33 -05:00
Ryan McKinley 842ae463b7 Chore: update otel v1.37.0 to v1.38.0 (#110985) 2025-09-12 10:11:56 +00:00
Ieva d4399e6eda grafana-iam: Implement resourcepermission update (#110891)
* first go at update implementation

* template tests

* SQL tests

* more tests

* set namespace for read resource permissions

* fix a bug with perms being removed right after they're added

* remove unwanted changes

* fix tests and check error

* PR feedback

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

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-12 10:43:51 +01:00
Ryan McKinley 1004b26a4a Provisioning: Avoid using listers.RepositoryLister outside a controller (#110948)
* use raw storage

* avoid informer cached lister
2025-09-12 11:23:02 +02:00
Hugo Häggmark b747ec8f24 Chore: prevents imports from grafana packages in i18n (#111000) 2025-09-12 10:26:50 +02:00
Ryan McKinley 1944d2dd0e Provisioing: Update provisioned folder with a manager identity (#110988) 2025-09-12 10:50:10 +03:00
Alexander Akhmetov 0b9e0ef4dc Alerting: Add a feature toggle to enable Assistant enrichment (#110940)
Alerting: Add a feature toggle to enable Assistant Investigations enrichment
2025-09-12 08:56:13 +02:00
Levente Balogh 165e2f5022 Dashboard Controls - Adjust styling for links (#110924)
* feat: adjust styling for the dashboard-controls menu

* refactor: remove unused file DashboardVariableControls.tsx

---------

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2025-09-12 08:19:14 +02:00
Daniele Stefano Ferru 6b2b949f8f Provisioning: check finalizers when validating Repository object (#110955) 2025-09-11 21:38:41 -05:00
Matt Adams 7805f6b62d Alerting: Include @emotion/css as pkg dep (#110994)
* alerting: include `@emotion/css` as pkg dep

* alerting: modify lock file based on new pkg dep
2025-09-11 21:06:55 -04:00
grafana-pr-automation[bot] b8fe82432f I18n: Download translations from Crowdin (#110998)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-12 00:37:25 +00:00
Stephanie Hingtgen a676dc6638 Stats: Add repository stats (#110989) 2025-09-11 16:36:25 -06:00
Stephanie Hingtgen d20ade0c2a Provisioning: Fix settings panic (#110993) 2025-09-11 15:25:19 -07:00
alerting-team[bot] 55b7b4fade Alerting: Update alerting module to 2b26ef8f17eb91ce179a51dde6d86839a680e1b4 (#110975)
* [create-pull-request] automated change

* update Alertmanager fork

---------

Co-authored-by: santihernandezc <41638679+santihernandezc@users.noreply.github.com>
Co-authored-by: Santiago Hernández <santiagohernandez.1997@gmail.com>
Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-09-11 21:27:22 +00:00
Mihai Turdean ac13da2d1d Use concurrent informer for iam-folder-reconciler (#110987) 2025-09-11 15:57:07 -05:00
owensmallwood 310893292f Unified Storage: Add sort order to keys func in datastore (#110714)
* Add sort order to keys func in datastore. Add test to not prune deleted events.

* include sort field in the ListRequestKey instead of it being a separate param
2025-09-11 14:12:30 -06:00
Stephanie Hingtgen b6567e5abc Folders: Fix deletion in api server (#110984) 2025-09-11 14:46:00 -05:00
Paul Marbach ec0fa444b4 Table: Use higher contrast color for Tooltip from Field chip (#110966) 2025-09-11 15:42:28 -04:00
Akhil Singh 113d61c027 I18n: Prevent Intl.DateTimeFormat crash with invalid locales (#110522)
* fix: prevent Intl.DateTimeFormat crash with invalid locales like 'c'

- Add locale validation utilities to prevent crashes when LANG=c is set
- Filter out invalid locales from navigator.languages before creating DateTimeFormat
- Add fallback handling to use browser defaults when all locales are invalid
- Fixes issue #110494 where Grafana crashes with 'RangeError: Incorrect locale information provided'
- Maintains backward compatibility for valid locales

Signed-off-by: Akhil Singh <singhakhil69@gmail.com>

* refactor: simplify locale fix to use direct try-catch approach

- Remove locale-utils.ts and locale-utils.test.ts files
- Use simple try-catch in dates.ts files: try locale, fallback to 'en-US'
- Use Laura's suggested approach in formats.ts with explicit variable declaration
- Remove unused utility exports from index.ts
- Maintains same functionality with cleaner, simpler code
- Avoids adding to public API while still preventing crashes with invalid locales like 'c'

Signed-off-by: Akhil Singh <singhakhil69@gmail.com>

* style: run prettier to fix linting issues

- Format code according to project prettier configuration
- Fixes failing Lint Frontend check

Signed-off-by: Akhil Singh <singhakhil69@gmail.com>

---------

Signed-off-by: Akhil Singh <singhakhil69@gmail.com>
2025-09-11 15:37:17 -04:00
Ryan McKinley 9a54243f09 Chore: update golang.org/x/exp (#110980) 2025-09-11 22:13:07 +03:00
Jean-Philippe Quéméner 041fa843da fix(unified-storage): use GetOldObject for delete validation (#110878) 2025-09-11 13:44:14 -05:00
Stephanie Hingtgen ca9982dc15 Folders: Fix panic in unified storage only mode (#110979) 2025-09-11 18:43:03 +00:00
Andreas Christou f5457c7909 InfluxDB: Update feature toggle retrieval (#110941)
* Update how feature toggles are retrieved

* Update wire

* Update Influx registration

* Update test
2025-09-11 19:19:10 +01:00
Kevin Minehart c28a917871 CI: fix bump version action to use grafana-delivery-bot (#110976)
* update bump-version

* Add id-token: write

* update generate-token step

* pull-requests -> pull_requests

* clone with token and set right name
2025-09-11 13:03:16 -05:00
Andreas Christou 10e335c10d Graphite: Backend metrics find endpoint (#110610)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues
2025-09-11 19:02:50 +01:00
Darren Janeczek 08203a060e feat: NavTree menu entry for adaptive telemetry grafana cloud apps (#109561)
* feat: NavTree menu entry for adaptive telemetry grafana cloud apps

* feat: 'adaptive-telemetry' icon added
2025-09-11 13:13:17 -04:00
Andreas Christou 85e92ce04b Graphite: Backend events endpoint (#110598)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add tests

* Review

* Review

* Fix packages

* Fix merge issues
2025-09-11 17:08:19 +01:00
Gabriel MABILLE aecc2c9fe7 grafana-iam: init mt resourcepermission apis (#110821)
* Init mt resource permissions

* Few fixes for the mt service to work

* Refactor NewAPIService to take the provider and enabledapis
2025-09-11 17:46:29 +02:00
Mustafa Sencer Özcan 2bd76d4044 fix: bump context deadline for integration tests while backend initialization (#110947) 2025-09-11 17:25:13 +02:00
Mihai Turdean 03abe18bb2 Instrument IAM Folder Operator with Tracing (#110923) 2025-09-11 15:21:44 +00:00
Sofia Papagiannaki 7ec9a7a4a8 Configprovider: Update the interface to propagate errors (#110814)
* ConfigProvider: Update Get method to return error alongside configuration
2025-09-11 17:26:54 +03:00
Sidharth Chauhan 0b1e640b03 docs: clarify that data links must use variable names, not labels (#110077)
Co-authored-by: Isabel Matwawana <isabel.matwawana@grafana.com>
Co-authored-by: Isabel Matwawana <76437239+imatwawana@users.noreply.github.com>
2025-09-11 10:21:27 -04:00
Isabel Matwawana 2af4e85b12 Docs: Replace screenshots for pill and markdown cells (#110953) 2025-09-11 10:09:13 -04:00
Peter Štibraný c6c8c6e928 Remove feature toggles from bleve backend. (#110951)
* Remove feature toggles from search backend.

* Remove extra import.

* Remove unnecessary code.
2025-09-11 16:08:41 +02:00
Mustafa Sencer Özcan 941a75964f fix: auhtz grpc client no org id issue (#110952) 2025-09-11 14:02:56 +00:00
Torkel Ödegaard 18673e6eef Variables: Style tweaks to new variables menu (#110946) 2025-09-11 14:51:53 +02:00
Gilles De Mey d73308690c Alerting: Use Alerting package state components (#110830) 2025-09-11 14:47:52 +02:00
Ashley Harrison c7169b3461 Storybook: Run a11y tests against both light and dark theme (#110887)
* run storybook a11y tests in both light and dark theme

* remove unused import

* update unit tests
2025-09-11 13:10:41 +01:00
Tom Ratcliffe 582d1e4f0d Chore: Remove some unnecessary suppressions (#110942) 2025-09-11 11:55:54 +00:00
Alexander Akhmetov fc3636acf2 Alerting: Fix bug where rules with identical mute/active intervals produced conflicting routes (#110935)
Alerting: Fix hash collision in NotificationSettings fingerprint
2025-09-11 13:44:06 +02:00
Andreas Christou 6f83a6b2fd Graphite: Backend health-check (#110518)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add tests

* Review

* Review

* Fix packages

* Fix merge issues
2025-09-11 12:31:11 +01:00
Daniele Stefano Ferru 083c6ee019 Dashboard: skip deletion validation on standalone mode (#110938)
* Dashboard: skip deletion validation on standalone mode

* move dashboard check right before provisioning service is used

* use isInterfaceNil
2025-09-11 13:27:25 +02:00
Josh Hunt ab3c93b279 Chore: Fix @grafana/alerting package repo (#110939) 2025-09-11 13:27:06 +02:00
Levente Balogh 273731ed8e Dashboard Controls: Allow displaying dashboard links (#110666)
* feat: add `placement` to dashboard links (v1)

* feat: add `placement` property for dashboard links (v2)

* refactor: rename the `DropdownVariableControls` to `DashboardControlsMenu`

* feat: make it possible to render links under the dashboard controls dropdown

* fix: update the v2beta1 (and remove changes from v2alpha1)

* fix: linting errors

* chore: update codegen

* fix: frontend unit tests

* tests(DashboardLinkRenderer): add tests

* fix: hide divider if not necessary

* Update apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue

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

* Update packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts

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

* Update kinds/dashboard/dashboard_kind.cue

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

* Update pkg/kinds/dashboard/dashboard_spec_gen.go

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

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/zz_generated.openapi.go

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

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

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

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/dashboard_spec.cue

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

* Update packages/grafana-schema/src/schema/dashboard/v2beta1/types.spec.gen.ts

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

* Update apps/dashboard/kinds/v2beta1/dashboard_spec.cue

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

* feat: remove "default" placement option for links (review note)

* feat: hide the <Stack> wrapper if there are no links or variables

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-11 13:16:46 +02:00
Ashley Harrison 2e0fdb2a60 Frontend Service: Pass static config needed for login to index bootData (#110829)
add almost all config needed for login
2025-09-11 12:05:39 +01:00
Konrad Lalik d0ab6d08e6 Alerting: Fix incorrect time range display for queries with custom 'to' values (#110930)
* Add TimeRangeLabel component to display query time ranges

* Remove query timerange windening in the rule viewer

* Update translations
2025-09-11 12:48:05 +02:00
Konrad Lalik 2fc9b29cf8 Alerting: Fix rule matching when queries contain comments (#110933)
Update hashQuery function to handle comments in query
2025-09-11 12:47:48 +02:00
Igor Suleymanov 4161f3a5ca Support dashboard restore across API versions (#110694)
What

This commit refactors the logic to restore a dashboard from a version.
The logic is moved from the API handler to the dashboard versions service,
which now supports restoring dashboards of different API versions.

Why

To make sure that dashboard version restoration works with v2 dashboards
API, as well as future API versions.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-11 13:35:58 +03:00
Tim Mulqueen 01b5543121 AzureMonitorDatasource: Add bounds check to fix panics (#110879)
(azure-monitor-datasource): add bounds check to fix panics
2025-09-11 12:31:11 +02:00
Gabriel MABILLE 5ce13061d5 AuthZ: Allow create without scope for specific resources (#110867)
* AuthZ: Create without scope for resources outside of folders

* Make it explicit that create requires a scope check

* Update pkg/services/authz/rbac/service.go

* Use skipScope instead of ReqScope

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

* Explain why there is no need to skip scope for roles

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-11 11:54:41 +02:00
Alex Khomenko 995aea281d Provisioning: Prevent sync if repository is not healthy (#110767)
* Provisioning: Prevent sync if repository is not healthy

* Update alert position

* Lint & i18n

* Improve check

* Update message

* Remove info and add cancel button

* Add spinner

* Fix test
2025-09-11 12:50:26 +03:00
Josh Hunt cedfbc08e0 NPM: Publish canary packages (#110866)
* publish npm canaries

use build artifact instead

log

tweak

* try and fix path

* k fix correct path to packages

* improve error handling in npm script

* install specific npm version

* restore rest of release workflow

* fix bits

* fix newline that didn't newline

* remove unused exit_if_fail
2025-09-11 10:03:19 +01:00
Peter Štibraný 6fa6a5708a Cleanup of old search functionality (#110861)
* Remove support for initMinSize.
Remove support for searchAfterWrite option, now it defaults to true.

* Remove reference to deprecated feature toggle.

* Remove feature toggle completely.

* Remove code related to indexing on watch events.

* Fix compilation error.

* Remove unused field.
2025-09-11 08:23:03 +00:00
Jean-Philippe Quéméner ecf08ad7d5 fix(folders): allow correct max depth on app platform (#110907) 2025-09-11 10:00:23 +02:00
Hugo Häggmark 4463df8224 Chore: fixes detect breaking changes script on new packages (#110927)
(cherry picked from commit d5fdcad0b4)
2025-09-11 09:44:17 +02:00
Yunwen Zheng e9638b882d SaveProvisionedDashboardForm: Bug fix dashboard tag changes is not persist (#110917)
SaveProvisionedDashboardForm: Bugfix dashboard tag changes is not persist
2025-09-11 09:29:35 +02:00
Alex Khomenko e4cffccbd4 Restore dashboards: Improve bulk restore (#110874)
* Restore dashboards: Handle partial failures

* Add resourceListCache

* Improve alerts

* Simplify message

* tweaks

* Comment

* Update message

* Fix restore state indicator
2025-09-11 09:42:27 +03:00
Hugo Häggmark 22a41cdaa3 Chore: renames cache (#110877) 2025-09-11 07:49:49 +02:00
Hugo Häggmark bd207e5419 Chore: Removes angular from externals (#110855)
Chore: removes angular from externals
2025-09-11 07:37:47 +02:00
grafana-pr-automation[bot] 3153c974ad I18n: Download translations from Crowdin (#110920)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-11 00:38:15 +00:00
Drew Slobodnjak dae9517b4f TimeSeries: Simplify time comparison styling (#110909)
* TimeSeries: Simplify time comparison styling

* Remove extraneous fill value

* Add fill value back to ensure correct legend
2025-09-10 16:20:37 -07:00
maicon 77fa3333e4 Page limit config for dashboards with visible annotations (#110911)
* Page limit config for dashboards with visible annotations

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-10 21:07:24 +00:00
Matias Chomicki de331407fe OTel: support unknown languages (#110905) 2025-09-10 13:31:17 -07:00
Piotr Jamróz 8dd72408b2 Data Links: Allow passing data links post processor via context (#110590)
* Data Links: Allow passing data links post processor via context

* Deprecate data links post processor in PanelContext

* Mark new context as internal
2025-09-10 22:12:24 +02:00
Johnny Kartheiser 73a241da86 alerting docs: update contact point emails (SE #17651) (#110780) 2025-09-10 19:47:33 +00:00
Isabel Matwawana 645f196d96 Docs: ad hoc filter improvements (#110844)
Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-09-10 15:40:10 -04:00
Isabel Matwawana eee1d25e9c Docs: Add panel filtering (#110720)
Co-authored-by: Sam Jewell <2903904+samjewell@users.noreply.github.com>
2025-09-10 15:19:16 -04:00
Haris Rozajac 11898abccb Dashboard Schema V2: Fix public dashboards and snapshots (#110060)
* wip; public dashboards and snapshots work

* Chore: Fix example of major release (#110007)

baldm0mma/ fix example of major release

* CI: Push docker images to dockerhub on merges to main (#110056)

* support extracting queries in schema V2

* fix lint and test

* fix test

* clean up

* clean up

* apply feedback about early returns

* fix url issue when clicking open original dashboard in v1

* refactor to early returns

* fix api version comparison

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-09-10 13:09:37 -06:00
Larissa Wandzura 7c0a44579c DOCS: SQL expressions updates for v12.2 (#110248)
* added supported functions and alerting/recording rules

* added more to alerting and recording

* added LLM integration info, cleaned up some other language

* cleaned up some passive voice

* ran prettier

* added requested update to alert/recording rules

* added RefID definition

* Update docs/sources/panels-visualizations/query-transform-data/sql-expressions/index.md

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

* updates based on feedback

* updates based on feedback

* ran prettier

---------

Co-authored-by: Alex Spencer <52186778+alexjonspencer1@users.noreply.github.com>
2025-09-10 19:00:32 +00:00
colin-stuart 28d1af0aa9 SCIM: Use SCIM logo in SCIM provider card (#110903) 2025-09-10 14:00:13 -05:00
Todd Treece 191ddb127a Background Services: Lifecycle o11y (#110570) 2025-09-10 14:33:03 -04:00
Andreas Christou d3c0980c84 Graphite: Decouple from core Grafana (#110294)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Add tests

* Review

* Fix packages
2025-09-10 18:48:29 +01:00
Costa Alexoglou 2c1821e77b feat: add mt development scripts (#110890) 2025-09-10 16:39:55 +00:00
Brendan O'Handley adac9fbe71 Tempo: Remove experimental config option to select native histograms (#110618)
* remove config option from configured data sources

* remove from ServiceGraphSettings.tsx

* remove config option from types
2025-09-10 11:18:13 -05:00
Gabriel MABILLE ddbc5bce4f grafana-iam: Use namespace for dbHelper (#110888) 2025-09-10 18:08:42 +02:00
Mustafa Sencer Özcan b8b85fbf47 fix: add intrumentation for auth server grpc client (#110875) 2025-09-10 17:33:21 +02:00
Mihai Turdean 338fc84479 Enable metrics by default for the folder operator (#110852) 2025-09-10 08:55:28 -06:00
Yunwen Zheng e58765632d ProvisioningAwarefolderPicker: Exclude current folder UID from selection (#110840)
ProvisioningAwarefolderPicker: Exclude current folder uid from selection
2025-09-10 10:43:42 -04:00
Jacob Valdez 83e190a160 Docs: removing and reordering more guides (#110130)
Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-09-10 09:13:28 -05:00
Alyssa Joyner b36bd7dd6a [OpenTSDB]: Support queries with different time ranges (#110818) 2025-09-10 08:04:04 -06:00
Javier Ruiz 646dd8de06 PluginExtensions: Add extension point for overriding Observability home page (#110500)
* feat/add_observability_landing

* Add check for observability path

* Fix existing tests

* Test that we're rendering the component when in the correct path

* Reset all mocks after testing

* Check for extension only on observability route

* Undo changes to tests

* Extract strings to constants

* Remove unused validator

* Remove unnecesary ObservabilityLanding component

* Update subtitle for Observability section

* Use proper '

* Expose extension point, allow plugins to hook into it, and render received components

* Fix and test

* Remove no longer needed unit tests

* Readd validation checks, allow for regex like paths

* refactor(extensions): extract dynamic extension point ids to a separate enum

* Undo unwanted const to let change

* Update extension point id to better transmit intent and use

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2025-09-10 15:43:36 +02:00
Andreas Christou 0d6827eb75 Elasticsearch: Mark cross cluster search toggle as GA (#110806)
* Mark toggle as GA and update owners

* make gen toggles

* Do not enable by default for now

* Vale lint
2025-09-10 14:34:56 +01:00
Moustafa Baiou f65e219b21 Alerting: Update prometheus api to reuse list query logic
This lets the prometheus api respect NoGroup query logic and treat non-grouped rules consistently.

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-09-10 09:30:56 -04:00
Moustafa Baiou ca8324e62a Alerting: Add support for alpha rules apis in legacy storage
Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api.
This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group.

Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis.

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-09-10 09:30:56 -04:00
Moustafa Baiou 0a85a30642 Alerting: Define rules.alerting.grafana.app/v0alpha1 AlertRule and RecordingRule
The first version of the app platform apis for alerting rules, including AlertRule and RecordingRule definitions.

Co-authored-by: William Wernert <william.wernert@grafana.com>
2025-09-10 09:30:56 -04:00
dependabot[bot] 4b416f89bf Chore(deps): Bump actions/checkout from 4 to 5 (#110558)
* Chore(deps): Bump actions/checkout from 4 to 5

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove incorrect comments

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2025-09-10 14:25:41 +01:00
Luminessa Starlight c7dbe46131 Docs: improve form field accessibility guidance (#110826)
improve form field accessibility guidance
2025-09-10 08:58:30 -04:00
Roberto Jiménez Sánchez 09ef9c8176 Provisioning: Remove again dependency cycle between provisioning app and grafana (#110863)
* Remove dependency cycle between provisioning app and grafana

* Format code

* Fix linting
2025-09-10 14:40:44 +02:00
Will Browne 5520a38726 Chore: Update log level for plugin container mode enabled path (#110873)
update log level
2025-09-10 12:36:55 +00:00
Sonia Aguilar d003e54489 Alerting: Enrichment per rule wip-2 (#110437)
* Add feature toggle and extension point

* Update ff name for enrichment per rule

* update translations

* wip

* remove wrong duplication after merging from main

* manage enrichments per rule drawer: add ruleUid to extension component

* remove folder

* move drawer to the list page

* update translations

* remove unused import
2025-09-10 13:52:10 +02:00
Tom Ratcliffe 67d8939f0e i18n: Fix pluralisation of counts text for descendants count (#110865) 2025-09-10 11:54:45 +01:00
grafana-pr-automation[bot] 93441bba42 I18n: Download translations from Crowdin (#110850)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-10 10:38:47 +00:00
Will Browne 0a7e0e5298 Plugins: Add ability to run backend plugins in containers (#110534)
* add client cfg for containers

* remove unused code

* add field for skip host env for proto client

* add docker to Swagger ignore

* add to enterprise swagger gen

* undo go.mod changes

* pass container image

* propagate container image field
2025-09-10 11:12:23 +01:00
Gabriel MABILLE 5c6fd5e5af grafana-iam: Implement resourcepermission list (#110769)
* WIP: List

* make toV0ResourcePermissions work with an ordered list of assignments to ensure consistency in the results

* Test templates

* Split list query in two. I clearly need scopePatterns

* Add pagination with offsets

* Remove unecessary comment

* implement listiterator

* add listiterator tests

* return the correct resource version

* use SkipIntegrationTestInShortMode

* No need for the extra check on pagination being correctly set

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

* Spec is out of date

* Remove wrong comment

* Add a test for the pagination token

---------

Co-authored-by: mohammad-hamid <mohammad.hamid@grafana.com>
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-10 11:17:53 +02:00
Todd Treece 7c242eeaef Background Services: Add wrapper to support startup order (#110225) 2025-09-10 09:06:25 +01:00
Levente Balogh 60d26ac0ce Dashboard Controls: Only render the "stack" if the drop-down is menu is visible (#110856)
fix: only show the dashboard controls menu if it has contents
2025-09-10 09:57:07 +02:00
Andres Martinez Gotor 4dbd3a00b7 Favorite Datasources: Complete reported interactions (#110817) 2025-09-10 09:29:39 +02:00
Oscar Kilhed 4648fc902a Bump scenes to 6.35.0 (#110858)
bump scenes, remove canary
2025-09-10 07:16:12 +00:00
Oscar Kilhed 1dc0c560ff Dashboards: Move panels following a repeating panel if the repeating causes the grid item to grow. (#110796)
* Move following panels after a repeating panel grows

* update to scenes canary release

* only run the adjustYpositions if needed
2025-09-10 08:38:18 +02:00
Stephanie Hingtgen 323738d191 Provisioning: Fix check of who can update (#110835) 2025-09-10 09:04:10 +03:00
Stephanie Hingtgen 8805e93b1d Provisioning: Add better nil check (#110847) 2025-09-09 18:23:11 -05:00
Stephanie Hingtgen 451cc00b6a Provisioning: Fix panic in webhook extra (#110845) 2025-09-09 17:16:57 -05:00
Drew Slobodnjak 651e52fd10 TimeSeries: Improve time compare default styling (#110575)
* TimeSeries: Use exported time comparison function

* Add alignTimeRangeCompareData to grafana/data

* Simplify tooltip time text formatting

* Bump scenes version

* Add tests for alignTimeRangeCompareData

* TimeSeries: Improve time compare default styling

* Update Time Comparison panel option menu

* Add backwards compatibility for older scenes

* Update shouldAlignTimeCompare for typical query

* Fix styling when multiple RefId matches

* Update default dash to be smaller

* Fix tooltip for older versions of scenes
2025-09-09 15:09:44 -07:00
Juan Cabanas ebd1f63aab Snapshots: Fix breadcrumb when not logged in (#110820) 2025-09-09 15:02:26 -03:00
Roberto Jiménez Sánchez acbc2cf01a Provisioning: Configurable Repository Types in monolith and operators (#110822)
* Configurable repository types in monolith and operator

* Default to Github in operators

* Regenerate wire

* Fix and implement unit tests

* Same types for enterprise tests

* Remove unnecessary conversion

* Remove the issue with import cycles
2025-09-09 19:13:22 +02:00
Ryan McKinley 3f4c523ef5 Provisioning: Add k8s annotations for legacy folder provisioning (#110827) 2025-09-09 17:01:08 +00:00
Matias Chomicki 09c78e0e9c Log details: column sizing and JSON values (#110807)
* LogLineDetails: switch from minmax to fit-content

* LogLineDetailsFields: switch from syntaxHighlighting to prettifyJSON

* Coverage
2025-09-09 18:47:27 +02:00
Ryan McKinley 7e8bbd2ec4 DualWrite: Avoid dynamic wrapper when mode5 is configured (#110823) 2025-09-09 19:38:33 +03:00
Andre Pereira d26c6c112a Tempo: Migrates tags and tag values to datasource backend CallResource requests (#110511)
* Move tags and tag values request to datasource backend

* Remove outdated test

* Fix tests

* lint

* Refactor to use handlers for CallResource request

* lint

* Fix nit
2025-09-09 17:31:32 +01:00
Yunwen Zheng fc0db985c6 BootstrapStep: Enhancement resource manage card options (#110723)
* BootstrapStep: card reorganize
* ConnectRepositoryButton: Move to Provisioning page actions spot
2025-09-09 12:23:06 -04:00
Gilles De Mey d5fca9a5fa Alerting: Add state components to package (#110781) 2025-09-09 18:10:10 +02:00
John-George Sample b999807727 Fix TSDoc for suppressing error alerts from backendSrc (#110824)
s/true/false
2025-09-09 16:36:19 +01:00
Alexander Akhmetov 2a5e8c8f9f Alerting: Add alertenrichment feature toggles (#110815) 2025-09-09 16:50:49 +02:00
Ryan McKinley 0404eb3452 Chore: serverConfig.EffectiveVersion earlier in initialization (#110798) 2025-09-09 17:46:46 +03:00
Will Browne 05a6e8503e Plugins: StaticFS should implement FSRemover (#110706)
make staticfs implement fs removal interface
2025-09-09 15:33:05 +01:00
Sarah Zinger 3558a1c627 ds-querier: add status code log (#110783)
Add a log of final status code we send to ruler, that has ruleid label attached
2025-09-09 10:18:41 -04:00
Gabriel MABILLE d0f25b0cd7 Revert "Folders: Use authlib.AccessClient in authorizer" (#110812)
Revert "Folders: Use authlib.AccessClient in authorizer (#110602)"

This reverts commit 0cb52b8be0.
2025-09-09 15:45:37 +02:00
Todd Treece b30916c917 Alerting: Add alertenrichment dependency to go.mod (#110813) 2025-09-09 13:34:41 +00:00
Yunwen Zheng 496e504b70 NestedFolderPicker: Only display provisioning icon on root folder (#110784)
NestedFolderPicker: only display provisioning icon on root folder
2025-09-09 09:34:19 -04:00
Juan Cabanas b462cfc7f7 SavedQuery: Types refactor (#110554) 2025-09-09 10:15:08 -03:00
Misi 3573736a75 Auth: Do not check externalUID when user authenticated by Grafana.com (#110801)
Check externalUID if the not authed by GrafanaCom
2025-09-09 14:18:23 +02:00
Peter Štibraný b3cc317cbc unified-storage search: Return bad request error for incomplete request. (#110802)
Return bad request error for incomplete request.
2025-09-09 14:15:45 +02:00
Georges Chaudy 7aa0622558 dashboard: editors can EDIT instead of admin. (#110650)
revert editor can admin
2025-09-09 14:11:16 +02:00
Gábor Farkas 95489fdca8 datasources: querier: refactor: simplify (#110516) 2025-09-09 13:27:52 +02:00
lean.dev b1a059ac4e CloudMigrations: wrap assert in EventuallyWithTf in case async sync hasnt finished (#110777)
* CloudMigrations: wrap assert in EventuallyWithTf in case async sync hasnt finished

* fix

* fix
2025-09-09 12:05:10 +01:00
Lauren 066c1787b9 Alerting: Add filterVariant to tracking calls (#110609)
* add filterVariant to tracking calls

* update test to check correct variant
2025-09-09 13:03:38 +02:00
Ryan McKinley 0cb52b8be0 Folders: Use authlib.AccessClient in authorizer (#110602) 2025-09-09 13:43:48 +03:00
Lauren 53cd0882ed Alerting: Add extension point for rule view page enrichment section (#110498)
* add enrichment to rule page view WIP

* add Alert enrichment tab to rule view page

* fix to view dummy component

* move rule view enrichment tab to enterprise

* remove better file changes

* remove console log

* add test for enrichment tab

* run yarn i18n-extract

* update directory structure

* remove .betterer.results changes

* Convert React.createElement call to JSX syntax

* revert removed lines

* revert removed lines

* revert removed lines

* fix failing test

* fix lint error

---------

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>
2025-09-09 12:33:12 +02:00
Josh Hunt 4e05bb36f2 FS: Remove multiTenantFrontend flag (#110776)
* FS: Move multiTenantFrontend evaluation to OpenFeature

* comment

* actually, just remove the toggle

* fix k8s prefs test using toggle

* replace frontend flag usage

* codeowners

* move isFrontendService just into core

* put back comment
2025-09-09 09:39:29 +00:00
Ashley Harrison 7651b7b77e Chore: Refactor scene hooks outside of class definition (#110181)
* refactor scene hooks outside of class definition

* remove unused import

* restore useMemo

* prune suppressions
2025-09-09 10:31:06 +01:00
Zachary Sistrunk ac1cd43fac Documentation: Fix inconsistency in Entra SAML docs (#110314)
Co-authored-by: Irene Rodríguez <irene.rodriguez@grafana.com>
2025-09-09 09:09:39 +00:00
grafana-pr-automation[bot] 11f90e9eb1 I18n: Download translations from Crowdin (#110788)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-09 08:38:01 +00:00
Peter Štibraný c32650e9d8 Replace remaining calls to testing.Short where possible. (#110765)
* Replace remaining calls to testing.Short where possible.
* Update style guide.
* Revert change in TestAlertmanager_ExtraDedupStage, as it doesn't work.
* Make TestAlertRulePostExport into integration test.
2025-09-09 08:16:12 +00:00
owensmallwood ffcc0e8de0 Unified Storage: Fix sortMeta always zero in legacy search api (#110779)
sort field is included in search request fields
2025-09-08 21:43:47 +00:00
Luminessa Starlight c16548f378 Chore: disable npm package install scripts (#110559)
* disable npm package install scripts

* allow cypress to run postinstall (needed to install the binary)

* add msw to allowlist of postinstall scripts

* update lockfile

* remove now-redundant nx postinstall disable
2025-09-08 15:01:52 -04:00
William Wernert 61adae16f2 Alerting: Ensure failed query validation returns the proper error code (#110717)
Ensure presave error is a validation error
2025-09-08 13:51:22 -04:00
Daniele Stefano Ferru 76976ef648 Provisioning: add webhook support in API Server and Operator (#110673)
* Provisioning: add webhook support in API Server

* updating Extra interface

* adding extra with workers interface

* reverting extraWithWorkers in RegisterAPIService

* adding extra job worker provider

* adding new extra job provider

* Wire things differently

* Remove unused GetJobs

* Pass url variable as string

* Support webhooks in controller

* Fix condition

* Change the naming

---------

Co-authored-by: Roberto Jimenez Sanchez <roberto.jimenez@grafana.com>
2025-09-08 19:39:05 +02:00
Torkel Ödegaard 32e997d282 PanelEditor: Fixes url sync for tabs on full page reload (#110748) 2025-09-08 10:49:10 -06:00
Ashley Harrison f4833ee2d8 Playwright: Fix remaining various-suite tests (#110667)
* get trace-view-scrolling working in playwright

* almost fix frontend-sandbox-datasource test

* properly fix frontend-sandbox-datasource tests

* convert migrate-to-cloud to playwright

* prometheus-variable-editor tests in playwright

* enable prometheus-config tests in playwright

* run on frontend changes

* skip test

* remove various-suite
2025-09-08 16:57:39 +01:00
Josh Hunt 454380431d FS: Get CDN prefix from configuration (#110615)
* FS: Get CDN prefix from configuration

* undo logger change

* fix tests

* add unused property

* tests

* fix tests

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

* fix some more any

* more any fixes

* manually add suppressions

* remove type assertion

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

* Fix tests, remove download for excel

* update i18n

* Update copy

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

* Update test

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

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

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

* Format, update test

* Fixes

* Add check for External

* Address feedback

* Update tests

* Address feedback

* make gen-go

* Simplify a bit

* Fixes

* make update-workspace

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

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

* Address feedback, add test for generateName

---------

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

* Update

* Update

* fix lint & test

* Try switching to source tab

* Added temp fix for old editing ux

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

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

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

* Delete unused component

* Update i18n

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

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

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

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

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

* chore: add specific error to tests

* chore: refactors out common parts to getExtensionValidationResults

* chore: updates after PR feedback

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

* Add alignTimeRangeCompareData to grafana/data

* Simplify tooltip time text formatting

* Bump scenes version

* Add tests for alignTimeRangeCompareData

* Add backwards compatibility for older scenes

* Update shouldAlignTimeCompare for typical query

* Fix tooltip for older versions of scenes

* support for multiple shifts

---------

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

* better names on fields

* fix struct initialisation

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

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

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

* service runs and mig promds type

* creating data source check

* adding aws

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

* add tests

* clean up

* lint

* add code owner

* imporvments from andres

* remove prom mig from http_server

* remove interface for testing

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

* fit into prov

* comment

* log debug instead of returning in update type

* Trigger Build

* feature flag being weird

* not public method

* copying from secrets migration

* service runs and mig promds type

* creating data source check

* adding aws

* add tests

* clean up

* imporvments from andres

* remove prom mig from http_server

* remove interface for testing

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

* fit into prov

* Trigger Build

* not public method

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

* all cases are working; unit tests pass

* style and code cleanup in SummaryCell

* remove e2e test for sum reducer label

* reorganize code, todo tests

* slight style cleanup

* one more little reorganization

* updates based on CI failures

* update tests and docs

* unused prop

* update table footer image

* alt text, lint issue

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

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

* WIP: more changes

* Use patcher from new location

* Separate import

* Move operators to grafana/grafana

* Tidy go mod

* Remove duplicate TODO

* Wrapper for unified storage

* WIP: build unified storage client

* More attempts

* Revert update workspace

* Improve comment

* Fix linting

* Change signature of repository getter

* Add ticket numbers

* Remove question

* Read config from file for decrypt service

* Config struct for unified torage

* Add local config

* Fix compilation

* Try to configure it

* Fix linting

* Add FIXME comment

* Move reusable logic into controller config

* Remove unused

* More logic to be reused

* Extract workers into separate function

* Clean up unified storage client

* Revert a couple of files

* Remove secrets decrypter from this PR

* Revert enterprise imports

* Clean up unified storage setup logic

* Add TODO

* Revert some changes

* Remove file

* Use the expected clients

---------

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

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

* LogListControls: add dropdown menu for line wrapping

* Update styles

* Translations

* Update tests

* Update test

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

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

* pruner only keeps 20 most recent versions

* ignore grafana-kv-data folder

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

* update logging, comments, exports kvbackendoptions fields

* update nooppruner ref

* fixes field casing in test

* fix test

* linter fixes

* remove comment

* make KvStorageBackend private

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

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

* fix tests

* update translations

* remove fetchOptions unused property

* revert removing wrong lines

* Preferch rules for autocomplete and use caching

* use selectedKey for getting gops values

* revert removed lines

---------

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

* cleanup

* add hook tests

* fix nil context

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

* fix the query

* fix query tests

* storage tests

* sql tests

* add missing import

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

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

* PR feedback

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

---------

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

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

---------

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

* snap update

* make gen cue

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

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

* Tackle create

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

* WIP use identity store to resolve role names

* WIP

* create role

* Remove unecessary comments

* comments

* sql templates

* test role insert tplt

* Add tests 😅

* Test permission insert template

* Test permission delete template

* Test assignment_insert template

* Manually test insertion

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

* generate name handled by the apiserver library

* Remove comment and conversion

* Small renaming nits

* changes from main

* Add storage backend tests

* Add test to sql

* Test role contains a unique permission

* linting

* Account for pr feedback

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

* Reuse mappers

* Move function to models

* Add check between name and spec resource

* Check if the resource does not already exist

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

* fix query

* Check basic roles

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

* Account for error

* Make struct names consistent

* Nit. I prefer createAndAssignManagedRole

* Remove notifyign

* log errors instead of returning them

* Fix exist query join

* Test errors

* Remove dup

---------

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

* Extract common search code.

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

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

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

* reuse func

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

* lint:prune

* Add nomargin

---------

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

* undo accidental change

* cleanup

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

* naming modified

* tests removed because component is now enterprise

* feedback applied

* translation removed

---------

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

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

 implement data store version

---------

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

* document AUTO_DOWN

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

* address review feedback

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

* align with verb simplification

* keep original format to avoid conflicts

* add sqltests

* cleanup

* Remove unecessary errors

* Move query template to queries

* Use splitN to make sure we have three parts

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

* Revert error change

* group permissions by resource

* extract parse scope

* Move sql_test

* Move & test parseScope

* Add tests to getResourcePermission

* Linting

* Use namespace

* Add test to the backend

* Ongoing tests

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

* Linting

* Straightened the created and updated times

* error handling and uniformization with other backend

* Restore comments to avoid later conflicts

* Integration testing

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

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

* PR feedback

* Sort spec permissions

* Shouldn't happen but double proofing

---------

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

* preserve onSelectQueryCallback on SaveQuery

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

* Fix lint

* Fix and add tests

* Refactor allowed plugins

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

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

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

* wip

* wip

* wip

* scope e2es

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* add dashboard view tests

* mods cujs

* wip refactor

* remove timeouts

* fixes

* betterer

* fixes

* refactor

* refactor

* fix

* use type instead of any

* betterer

* PR mods + codeowners

* CODEOWNERS

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

* register AlertRuleHistory into IRM's extension point

* support more default filters

* lazy load alert rule extension

* simplify

* rename extension point

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

* rename PluginExtensionPointsInPlugins to PluginExtensionExposedComponents

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

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

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

* improve naming of exposed component

---------

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

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

* More removals

* Update provisioned dashboard

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

* Fix lint error

* Remove as

* Fix tests

* Prettier

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

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

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

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

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

* fix migrator test output due to required default value

* fix go migration test

* more go test fixes

* fix go tests for footer

* Merge #110062

* update migration dashboard

* Small docs fixes

* Small docs fix

* remove migration method in Go, update js unit test

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

* Footer should always use og rows for calcs

* update footer to be unaffected by filtering and sorting

* more e2es

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

* update codeowners for e2e

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

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

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

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

* fix reducers override in kitchen sink migration table

---------

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

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

* remove skip

* Use better and accurate test naming

* deconstruct options, add test for group by / count

* Have different values for test

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

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

* Translations: add missing plurals

* Update sidebar icon

* LogList: default to inline details

* LogLineDetails: details by screen width

* Inline details: slightly smaller

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

* lint fix

* updated meta cansave function with config option

* cleanup

* lint

---------

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

* LogLineDetails: update styles

* Update types in test

* Update background, border, and shadow

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

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

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

---------

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

* clean up gitignore, add enterprise to playwright config

* add workflows

* setup enterprise in the workflows

* update permissions

* try update license path

* add TODO

* undo workflow changes

* remove commands

* add extensions folder

* update gitignore

* include the whole public folder

* add comment

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

This reverts commit cbf256120e.

* log the decision

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

---------

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

* add better handler names for public asset paths

* fix tests

* comment

* remove debug log

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

* Update origin

* Update FlameGraphHeader.tsx

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

* Update LogListContext.tsx

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

* Fix lint

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

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

---------

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

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

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

What

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

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

Why

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

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

* Remove superfluous tracing spans

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

---------

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

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

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

---------

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

* make panel and query sections individually have full viewport height

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

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

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

* use new wrapper for reflow layout media query setup

replace the magic numbers with theme breakpoints

apply global styles conditionally and locally

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

added betterer exception that will be removed in the next commit

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

* remove unused import

* nit fix

* move disabling useSnapperSplitter logic into the hook

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

* remove global style overrides

* prevent scrolling in editor

---------

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

* comments

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

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

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

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

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

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

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

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

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

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

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

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

* rolling back to json Patch

* adding TODO for testing

* adding integration test

* using struct

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

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

grafanacloud_instance_rule_group_iterations_missed_total ->
grafanacloud_grafana_instance_alerting_schedule_rule_evaluations_missed_total

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

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

---------

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

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

* update go.mod; check error code differently

* reduce api surface even more

* move test errors into sqlite package

* CGO_ENABLED=0 in unit tests

* disable for enterprise, too

* add driver name constant

* remove unused constants

* make test an integration one

* try integration tests without cgo

* implement error codes for modernc sqlite driver

* typo fix

* missing return

* use error pointer as an interface

* alias the driver

* update workspace, check for test errors too

* check error properly

* add missing driver after rebase

* fix missing import after rebase

* debugging, lets try again

* properly parse options, revert many previous changes

* remove another log

* better url parsing

* revert test rename, leave it for later

* revert reusedSession in unistore

* revert more code

* remove driver name

* revert formatting

* add integration test without cgo for sqlite

* remove tracing and logging

* bring driver alias back

* fix type

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

* Label: add space

* Comment

* LogLineDetailsLinks: show value in a toggletip

* LogLineDetailsLinks: add label

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

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

* add logic to filter grafana vs external datasources

* run yarn i18n-extract

* resolve PR comments

* resolve design comments

* add rule source to search parser

* rename external to datasource

* import empty from ix

* fix tests

* fix typing

* resolve comments- treat undefined as *

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

* add GMA/DMA section WIP

* remove rule manager radio

* use default no options found in dropdowns

* fix failing test

* resolve PR comments

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

* start gargbage collection worker as background service

* make gen-go

* fix typo

* make update-workspace

* undo go mod changes

* undo go work sum changes

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

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

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

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

* default gc_worker_batch_size to 1 minute

* fix typo

* fix typo

* add test to ensure cleaning up secure values is idempotent

* make gen-go

* make update-workspace

* undo go.mod and .sum changes

* undo enterprise imports

---------

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

* Update

* Thinks are working pretty well

* wip: solve tab not found

* fix lint and tests

* adjust wait for repeats in getCurrentTab

* set currentTabSlug in useEffect

* set currentTabSlug on tab title change

---------

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

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

Create feature toggle

* Azure: Resource picker subscriptions filter (#109527)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Update tests, lint, and i18n

* Lint and test

* Simplify type

* Azure: Resource picker types filter  (#109528)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Update tests, lint, and i18n

* Lint and test

* Simplify type

* Rename variable for clarity

* Azure: Resource picker locations filter  (#109530)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Simplify type

* Rename variable for clarity

* Rename var

* Azure: Resource picker filters tests (#109590)

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Resource picker filter tests

* Update tests

* Simplify type

* Rename variable for clarity

* Rename var

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

* Create feature toggle

* Fix namespace typo

* Retrieving default subscription ID

* Style updates

- Filter input styling
- Improved modal styling

* Pass data source to resource field

* Search style updates

* Function to support fetching filtered rows

* Filtering nested rows

* Filtering search

* Support subscriptions filtering

- Support filtering in resource graph functions
- Subscriptions filter component

* getSubscriptions tests

* Fix logs query editor test

* Update data source mock

* Update resourcePickerData tests

* Add types filter

* Locations filter

* Update tests, lint, and i18n

* Minor test updates

* Imports

* Lint and test

* Resource picker filter tests

* Update tests

* Event for filter usage

* Function to support local storage

* Recent resources view

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

* Update i18n keys

* Export resource key

* Add no recent resources text

* Run legacy tests with feature toggle off

* Add filters test without feature toggle

* Don't use as type assertions

* Add tests for recent resources

* Store resources for each query type

* i18n-extract

* Simplify type

* Minor performance improvement

* Rename variable for clarity

* Rename var

* Add placeholders

* Azure: Resource picker tests (#110175)

* Minor simplifying refactor

* Add more tests

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

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

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

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

* typecheck

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

* Move operators to grafana/grafana

* Go mod tidy

* Own package by git sync team for now

* Merged

* Do not use settings in local extra

* Remove dependency on webhook extra

* Hack to work around issue with secure contracts

* Sync Go modules

* Revert "Move operators to grafana/grafana"

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

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

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

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

---------

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

* Add shortcut for applying scopes

* Support expanding nodes with arrow keys

* Make useEffect non-conditional

* Add a11y and error boundary

* Fix preventDefault

* Add test for keyboardinteractions

* Add tests and expanded status to treeitem

* Reset highlight when disabled and change styles

* Fix tests

* Update i18n

* Remove unused var

* Reset enterprise imports from main

* Move failing test to correct quite

* Remove test outside fo context

* Remove unused import

* Use highlitghted ID instead of index

* Extract all highlighing functionality into its own hook

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

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

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

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

* Add unit tests

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

* ExtensionSidebar: Remove `isEnabled`

* ExtensionSidebar: Lint

* ExtensionSidebar: Lint

* ExtensionSidebar: Remove more FF

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

* review: update naming

* review: update the owners of the feature toggle

* feat: share the restricted apis with extensions

* fix: linters

* feat: remove the `addPanel` api

* chore: fix linting and betterer issue

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

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

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

* Add alertingTriage feature toggle

* Add Triage menu entry

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

Fixes #89940

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

* fix: lint check

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

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

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

* fix: prettier lint check

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

---------

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

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

* Docs: tableNG max cell height (#110069)

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

* change to Max row height instead of Max cell height

* fix unit test

* table utils codeowners

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

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

* update docs

* fix docs

* Revert "fix unit test"

This reverts commit c46b0f1bec.

* fix unit test

* trade one important for another

* Tweaked wording

* hover overflow for max row height

* get rid of commented out section

* and we did it without important

* centralize overflow for max height assessment

* some alignment stuff was busted

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

* make i18n path more consistent

* put some tooltip things back since they ultimately didnt change

* we can simplify the :not selector

* delete comment

* don't bother with :not

---------

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

* Log line: fully replace highlighted body with highlight tokens

* processing: update test

* Add unit test

* Add deeply nested JSON test

* processing: update clone function

* Scroll to log line: find by uid

* LogLineDetailsLog: check if the log contains ansi

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

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

* copy gazetteer/maps folders into dockerfile for frontend service

* add TODO comments

* remove unused import

* conditionally use public cdn path

* fix unit tests

* try refactor e2e test for better stability

* Revert "try refactor e2e test for better stability"

This reverts commit d966d68e15.

* safer

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

* Allow custom value

* Fix

* Refactor branch selection

* SHow configured branch first

* Update validation error

* Update tests

* Move workflow toggle into onChange

* Clear errors on switch

* Fix tests

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

* test: add UTC copy/paste timezone conversion test

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

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

* Remove duplicate mockClipboard clear

* Extract utility functions for formatting and converting time ranges

---------

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

* test(DropDownVariableControls): add tests

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

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

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

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

* Enable annotations in classic explore

* Run prettier

* Revert unneeded change to plugin.json

* Tweak wording in sampling annotation

* Fix test

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

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

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

added in champions program

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

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

* generate pa11y results file

* setup node

* don't need grabpl

* get key from vault

* doublequote env var

* write node script for publishing

* update CODEOWNERS

* add some logging

* yarn install...

* tidy up

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

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

* return new schema if query parameter version=2

* add version to k8s model of integration

* fix open api snapshot

* add version to IntegrationConfig

* use current version on conversion

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

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

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

* Refactor troublshooting page

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

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

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

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

* fix CODEOWNERS

* update betterer

* prettier 

* lint

---------

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

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

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

* Gen GetTeams with app sdk

* Revert some changes, cleanup

* Format iam_manifest.go

* Remove generated file

* Regenerate openapi defs

* Cleanup

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

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

* get useSelector from the correct place

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

* Update ff name for enrichment per rule

* update translations

* rename to addRuleFormEnrichmentSection

* pr feedback

* prettier

* update translations

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

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

* chore: updates after PR feedback

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

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

* Add missing change

* More fixes

* make swagger-gen

* Remove unused documentation

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

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

* Run make swagger-gen

* Run make openapi3-gen

---------

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

* Removed wrap text from cell options shared file

* Edited

* Edited

* Table: Migrate to field-level wrapText toggle

* migrate hidden -> hideFrom.viz as well

* more cleanup from rebase

* restore options that got killed in the rebase

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

* fix TableNG unit tests

* fix i18n

* unit tests for the migrations

* sort out e2e issue

* fix migration unit test

* fix backend migration test as well

* add a dashboard for the v12.2 table migrations

* update dev-dashboards.lisonnet

* make gen-jsonnet

* one of the panel versions didnt get updated

---------

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

* adds missing stdvar, limitK and limit_ratio agg functions

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

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

* Move safepath

* Move Loki package

* Regenerate Loki mock

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

* LogListContext: decouple wrapLogMessage and prettifyJSON from state object

* Processing: reformat JSON according to prettifyJSON

* LogListControls: update class names and colors

* onLogOptionsChangeType: update type signature

* Update type

* Update tests

* Dont translate the plus sign

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

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

* Force index on Dashboard Permission Filter (MYSQL)

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

---------

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

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

* Simplify api call

* Use fetch

* Simplify branch logic

* Remove branch selector

* Add repo fetching

* Restructure

* Add missing files

* Ad branch selection to config form

* Cleanup

* Remove isDfault

* useAsync

* useAsync for branch loading

* Remove repo fetching

* Refactor

* Allow custom value

* Add pagination

* dedupe

* useBranchOptions

* format

* Remove types

* comments

* Fix test

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

* fix lint and typing

* resolve design comments- add show/hide button

* resolve design comments- make error box grey

* run yarn i18n-extract

* separate PR

* resolve PR comments

* fix lint

---------

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

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

* fix typo

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

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

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

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

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

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

* Apply suggestions from code review

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

---------

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

* remove code that relies on prometheusCodeModeMetricNamesSearch feature toggle

* remove code that related to prometheusCodeModeMetricNamesSearch feature toggle

* remove commented code lines

* remove commented code line

* Put codeModeMetricNamesSuggestionLimit selector back

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

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

* Tackle create

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

* WIP use identity store to resolve role names

* Commit empty service for now

* Clean

* For now only show name and created at

---------

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

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

This reverts commit 7331a2e8c3.

* revert test change that accidentally catches the issue

* use useId in some places

* make ID required

* fix some ids

* fix a couple more

* add ids to variables

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

* add ids to get viz options

* add ids in getPanelFrameOptions

* add getFieldOverrideElements

* change name

* Replace other uuids with hard coded ids

* hoist useId out

* use some new selectors for table e2es

* commit betterer crimes

* use useId where we can

* Revert "use useId where we can"

This reverts commit 34090ac75d.

* fix some dashboard layouts tests

* rm AutoCellOptionsEditor

* idk try and fix tests

* restore fixed its for url state

---------

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

* better test name

* betterer

* fix test

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

* fix typo

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

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

* fix github action

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

* kill off tableNextGen feature flag

* i18n

* i18n

* i18n

* remove state beta from table panel

* fix migration for 0 decimals migration

* add explicit auto option bacjk

* match impl from previous migrations code

* try changing some selectors

* remove timezone test from Cypress

* fix PlaylistForm unit test

* fix some selectors

* clean up i18n, are these gridcells somehow?

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

* fix i18n for en-US

* clean up gdevs now that wrapHeaderText has no default

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

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

* Drop permission role_id index

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

---------

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

* LogLineDetailsTrace: analytics

* Prettier

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

* add external example

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

* Chagnes from prettier

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

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

* Auth.jwt: Support config jwk_set_bearer_token_file

* Docs: Document new JWKS url options and mention tls_skip_verify_insecure

* Docs: Fix note on JWKS response caching

* chore: Refactor getBearerToken into standalone function

* docs: Apply wording/formatting suggestions

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

* chore: Simplify ca helper function using testcerts

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

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

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

chore: Reword comment prevent an erroneous refactor

* docs: Update casing

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

---------

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

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

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

---------

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

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

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

* fix test

* lean on existing memoization and utils more

* just make that method a prop of TableCellRenderer

* add prop to tooltip stuff as well

* fix another test

* update TableNG with apply to row mixed color cell table

* simplify color overrides table

* special case: apply to row transparent bg

* add unit test

* delete erroneous import

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

* run make gen-cue to update tempo dataquery

* add native histogram check function & look for dataquery flag

* remove console log

* check for native histograms in queryfield

* only run query when histograms have not been migrated yet

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

* fix type issue

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

* fix type

* fix import

* remove metric name from func

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

* remove string for boolean check in service graph functions

* fix bug for switching tempo data sources

* handle race condition for unmounting before async call is completed

* fix imports

* add todo to implement getNativeHistograms in Prometheus data source

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

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

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

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

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

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

* Add samlCatalog metric to stats

* Define hook for successful SamlCatalog metrics

* Register new hook

* Add tests

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

* links: create module

* LogList: pass time zone and time range to Details

* LogLineDetailsTrace: create component

* InlineLogDetails: pass time range and time zone

* LogLineDetailsTrace: show loading and error messages

* Update tests

* LogLineDetailsTrace: update message styles

* Prettier

* Add test

* LogLineDetails: add embedded metric test

* Prettier

* LogLineDetailsTrace: use unique request id

* LogLineDetailsTrace: reset state when props change

* Chore: rename

* Chore: rename

* links: add integration test

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

* add test

* Add translation

* Remove unnecessary array spread

* move check provisioned into util function

* wip conflict fix

* Undo file rename

* Remove unneeded handler for now

* Fix delete invalidating getFolder calls

* Don't call hooks conditionally

---------

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

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

* working in default grid

* Fixes

* Update

* SoloPanelPage

* Fixing search layout

* Fixes

* Fixes

* Update

* remove comments

* Solving panel not found

* Fix

* fix lint

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

* add validation and test

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

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

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

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

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

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

* Register the 2 writers

* Commit unsaved file

* Do not validate or mutate history jobs

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

* Use existing repository

* Update confirm modal

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

* More edits

* WIP

* LBAC

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

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

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

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

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

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

* migrate to v18

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

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

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

* cleanup

---------

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

* slight cleanup for e2e

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

* baldm0mma/ scan and update rest of doc

* baldm0mma/ run prettier

* baldm0mma/ rerun yarn run prettier:write

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

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

---------

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

This reverts commit 4d067059c9.

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

* use the single styles object

* restore automatically adjusted line

* restore automatically adjusted line

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

* use compareArrayVals for widths comparisons

* satisfy linter

* whoops, had this backwards

* clean up case with frozen columns

* remove dep

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

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

* little fix

---------

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

* add storybook variation for infoOption in dropdown

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

* add tests for filter tracking

* refactor: boy-scouting V1 filter

* move FiltersV2 to rule-list directory

* fix lint issue

* resolve PR comments round 1

* resolve PR comments round 2- update file locations

* generate apis

* fix tests

* fix lint issue

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

* LogLineContext: add interval picker

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

* Loki: support custom time window

* LogLineContext: implement variable time window

* Remove console

* LogLineContext: store and format options

* LogLineContext: replace radio with combobox

* LogLineContext: run time window on the first request

* InfiniteScroll: use loading to prevent fake events

* Chore: update old comment

* Minor reorg

* Clean up unnecessary styles

* LogLineContext: fix overflow and scroll

* LogList: fix loading prop

* Update comment

* Translations

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

* LogLineContext: move default to constant

* LogLineContext: add test

* Prettier

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

* chore: add supportsAdjustableWindow to logs context interface

* Build

---------

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

* Zanzana: Collect check duration

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

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

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

* Edits

* Prettier

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

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

* Style edits

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

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

* Prettier

---------

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

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

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

* add missing replacement on "Query history"

* fix unit test

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

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

* Table: Rework the renderers file and some types

* more test cleanups

* remove for gauge for now

* memoize all of the renderers

* also memoize the Tooltip component

* memoize the TableCellActions

* memo useStyles2

* update useStyles2 usage in TableNG

* remove console.log

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

* style nit - update variable name to be more idiomatic

---------

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

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

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

* add bench reporter

* add pr trigger

* update workflow

* actually add the test

* debug

.....

* more debug

* this it???

* Debugging GHA workflow

https

newline

tree

cache node modules

try bench again

fix path

* Add RequestsRecorder and tweak GHA workflow

* More debugging GHA workflow

cache

cache key

try renaming path

specify env var correctly

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

fix status

cat stats

cat stats

* prefix metric names

* cleanup

* cleanup gha

* codeowners

* make gen-jsonnet

* quote things

* Add host_type label for categorising the various hosts

* rename pw_boot_time_seconds to pw_test_run_time_seconds

* change prefix

* codeowners, gha name

* remove node-modules caching

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

* remove .drone.star

* Remove drone scripts and drone references in Makefile

* make update-workspace

* remove deadcode tool

* Remove daggerbuild/scripts: deadcode

* Remove drone files / folders in CODEOWNERS

* make update-workspace

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

* migrate to v18

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

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

* Update v27.go

* Update v16.go

* cleanup

---------

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

* fix compile time check

* Fix method name

* Fix naming

* fix the rest of the ListSinceModified names

* Uses resource key without name field

* get latest rv from resource_version. Update test.

* adds moar tests

* adds method stub for ListModifiedSince to other StorageBackend implementations

* adds dummy impl to noop storage backend for ListModifiedSince

* skip tests for badger kv backend for now

* fixes tests and adds badgerkv impl for ListModifiedSince

* add badger kv impl

* adds test for new query

* adds test data for new query

* adds ListModifiedSince stub to mockStorageBackend

* uncomment tests

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

* remove comments

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

* regen test queries

* updates test

* updates function comment

* use resourcepb.ResourceKey instead of ModifiedResourceKey

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

* skip TestListModifiedSince for kv backend

* use WatchEvent_Type for action type

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

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

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

* Migration to be verified: 16 Grid layout migration

* Refactor v17 and v19 migrations to use shared helper functions

* Address reviews comments

---------

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

* have partitioned refID include original refID

---------

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

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

* refresh parent on both branch and default workflow

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

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

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

* remove button tooltip and remove comment

* regenerate API clients after schema updates

---------

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

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

* separate steps, clearer error messages

* make same change to non-enterprise version

* double-quote

* ignore conf

* update generated apis

* add names for steps

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

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

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

* fix unit tests

* fix mutating context object in test

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

* Minor fix

* fix test

* Fix test

* adding unit tests for pathId functions

* fix

* Fix link sharing to use new path

* fix

* Update

* No clone keys

* Remove all the clone keys complexity

* More changes

* update e2e test

* Progress

* fix auto grid item

* Finally working cannot move panel into clone row

* adjust how we find vizpanel for keyboard shortcuts

* Update

* Fix shortcuts

* Fix test

* fixing tests

* fix lint

* fix tests

* fix e2e

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

* update

* Upgrade scenes

---------

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

* Add unit test to queryn editor row

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

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

* LogLineDetails: improve label column width

* wip

* Remove log

* grammar: remove unused grammar

* grammar: fix log grammar

* LogLineDetails: improve margins

* LogLineDetails: further fine tune width

* Update tests

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

* remove createRemoteAlertmanager

* modify comment

* unexport functions to create remote secondary and primary forked AMs

* RemoteFactory -> NewRemoteFactory

* avoid passing a logger

* avoid panics if creating the internal AM fails

* remove lines

* rephrase comment

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

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

* GHA: Use standard runners for BE unit tests OSS

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

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

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

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

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

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

* Update playlist types

* Revert

* import

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

* Logline: add regression

* chore: remove unnecessary spy

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

* fix navigation issue

---------

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

* fix the tests

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

* update comments

* Add image and resource commands

* Add secrets paths

* Block workflow run for forks

* ignore via package.json, update CODEOWNERS

* fix workflow path

* remove old azure monitor test

* pull docker image first

* add permissions for docker pull step

* checkout first

* keep creds file

* try all in one job

* with creds...

* add cloud: 'azure'

* pass CLOUD to docker

* add -playwright

* actually use the env vars

* don't need to pass CLOUD env var

* remove commented out code and tidy up

* kick CI

* Update container names and set PLAYWRIGHT_CI

* Update path

* fix zizmor violation

* use bigger runner, add double quoting

* add separate command and increase timeout

* remove timeout

* parameterise the e2e command in CI

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

* fix detect changes

* pass creds into dagger

* try remove quotes

* add a debug log

* exec playwright command after mounting file

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

* fix test

---------

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

* Create correct context based on the query

* Add data source name

* Do not bundle grafana/assistant with flame graph

* Rename component

* Add tests

* Mock grafana/assistant

* Update feature toggle and allow hiding the button

* Update deps

* Update types

* Update yarn.lock

* Fix typo in feature toggle description

* Enable grafanaAssistantInProfilesDrilldown by default

* Enable grafanaAssistantInProfilesDrilldown by default

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

* Add Grafana rules export option to the new list page

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

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

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

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

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

* remove context menu test

* remove context menu test

* i18n

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

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

* InfiniteScroll: minimize use of element.scrollHeight

* LogLineDetails: constrain to 95vw

* LogList: process logs while streaming

* Remove unused prop

* InfiniteScroll: update test

* Update test

* Inline Log Details: read max width from context

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

* add colorization support

* more progress on customizing the tooltip based on cell customization

* configurable as an option

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

* i18n

* use enum where appropriate

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

* clean up some console.logs

* e2e test for the tooltip

* fix global click stuff

* remove console.log

* refine the style of the caret

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

* some updates from self-review

* increase hit target of tooltip caret

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

* reorganize to pre-calc the per-field stuff

* use linear gradient for triangle

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

* clean up event handlers a bit

* restore test for toggle click

* alright, re-remove the toggle case

* cursor pointer

* remove optional root from Popover for now

* remove this ridiculous autogenerated file

* update some of the text

* kill the cellRefMatrix

* remove unused import

* extract a util for the predicateByName part

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

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

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

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

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

* chore: fixes backend tests

* chore: fix backend tests

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

* Update

* update

* fix e2e

* fixes

* Update

* adjust e2e test

---------

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

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

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

* add an action to the kitchen sink Info column

* don't need the class for z-index

* fix this issue across a variety of viz types

* kill tooltip container in TableNG

---------

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

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

* don't create unessecary sceneObjects

* fix i18n identifier strings

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

* Fixes

* fix e2e

* fix lint

* fix lint

* fix test

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

* trying to debug trace propagation

* add extra header

* change header to inject

* very debug logging

* set GF_TRACING_OPENTELEMETRY_OTLP_PROPAGATION

* clean up config

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

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

* Add sorting options to pie chart panel options.

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

* Implement custom sorting in piechart and piechart legend.

* Update piechart documentation

* Fix default and clockwise/counterclockwise confusion.

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

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

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

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

* docs(piechart): include recommendations from @imatwawanaimatwawana

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

* chore(piechart): regenerate Cue schema files

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

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

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

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

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

---------

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

* hide history button from file page

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

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

* update instantiations of OptionsPaneItemDescriptor to pass IDs - iffy changes

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

* update playwright tests

* fix unit tests

* grafana ui components updated to pass ID through

* update components to pass ID through

* add missing input IDs

* better default ID handling

* remove TS note

* revert accidental non-html id change

* kick CI

* fix old-arch e2e tests

* change to plain useId calls

---------

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

Related to #108633

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

* more WIP

* leftover changes after merge

* bug fix: prevent modal close onclick inside modal

* add logic to filter by data sources

* use MultiComboBox component instead of MultipleDataSourcePicker

* add namespace and evaluation group filtering logic

* remove header section of PopupCard

* set max width on popup

* add contact point field

* add contact point logic and tooltip

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

* add plugins show/hide field

* add plugins show/hide field

* add tests for new filter

* test tracking works as expected

* check v2 filter only shows if feature toggle is on

* tidying up

* fix lint errors

* fix close-on-type bug

* use ContactPointSelector component

* fix close-on-click-outside issue

* Add label dropdown logic

* Add query string to search field

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

* clear search input onClear of filters

* fix lint issues

* add tooltips to search input and datasource fields

* Sort typing in ContactPointSelector

* update translation file

* Add logic to group and list view buttons & refactoring

* update failing test

* update test mocks

* fix failing tests

* fix typecheck errors

* resolve PR comments part 1

* update label dropdown to include info text

* Translation extraction

* resolving PR comments

* move autocomplete logic to reusable hook

* resolve PR comments

* fix typecheck

---------

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

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

* tighten up grafana/data types

* kick CI

* restore dashboard scopes props

* revert back to class

* add some comments

* kick CI

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

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

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

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

* Add example for plugin profiling to the doc

---------

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

* Fix linting

* Do not count the provided one

* Fix test

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

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

* remove unnecessary abstraction

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

* keep traces and profiling as owners

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

* Fix?

* Prettier

* Fix?

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

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

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

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

* Feedback, new docs

* Prettier

* More feedback

* Prettier

* Minor edits

* Edits

* Prettier

* Edits

* Prettier

* Solving conflicts

* Prettier

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

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

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

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

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

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

* Fix?

* Fix?

* fix links?

* Update plugin-integrate.md

* fix link

* fix link?

* Update plugin-install.md

* Update plugin-install.md

* fix link

* fix link

* fix links

* Update plugin-types.md

* Fix?

* Fixing

* More links

* Final touches

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

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

* Prettier

---------

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

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

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

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

* update image for filter docs

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

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

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

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

---------

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

* migrate to v18

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

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

* clean up

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

* update i18n file

---------

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

* chore: i18n

* feat: add run query + keyboard shortcuts

* chore: i18n

* chore: initial query formatted

* chore: resolve some issues

* chore: a bit of refactor to clean it up

---------

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

* Update changelog

* Update changelog

* Update CHANGELOG.md

Manually update changelog with 11.6.5 changes

* Update CHANGELOG.md

Update with 12.0.4 changelog content

* Update CHANGELOG.md

update changelog with 12.1.1 content

---------

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

- Add test

* Type fixes

* Fix schema conditions and add test

* Fix lint

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

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

* Lint

---------

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

* chore: fixes to tests

* i18n

* chore: small GenAIButton style update

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

* chore: polish

* fix: i18n

* feat: make it a whole lot more capable

* chore: extract prompt logic to common file

* chore: consolidate state management to custom hooks

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

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

* chore: polish for now

* chore: clean up folder structure

* chore: conditionally use hooks + improve prompt

* chore: betterer....

* chore: polish

* feat: testing 🚀

* chore: polish polish polish

* chore: remove startWithPrompt

* chore: timeout 30

* chore: add experimental badge

* i18n + 60 sec timeout

* chore: MOAR POLISH

* chore: clean up explanation drawer

* chore: update tests

* chore: update FF checks

* chore: get the rendering w/FF correct

* chore: fix tests

* chore: re-work ai tooltips

* chore: cleanup

* chore: handle sql button styling differently

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

* Use the same helper to create repository in export job

* Improve the logging

* Fix eventually conditions in helpers

* Fix export job tests

* Format code

* Fix linting

* Fix the format

* Fix linting issue

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

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

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

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

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

* Update tests for continue token.

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

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

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

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

* add feature flag check on badge

* add test for migrator

* Add QueryEditor.test and useStateSync test

* implement onCancelEditingQuery library

* run i18n extract

* push mod changes

* Revert "push mod changes"

This reverts commit 29c410f126.

* remove queryRef from the URL

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

* restore tests and remove old queryRef from URL behaviour

* clean up test

* remove unnecessary useCallback from onCancelQueryLibraryEdit

* apply PR suggestions about naming of functions

* rename queryRef to queryLibraryRef

* update missing files with the new queryLibraryRef

* fix i18n check

* Disabled add query buttons when queryLibraryRef is present

* Add unit test to components

* add missing queryLibraryRef after merge

* add placeholder for highlighted code

* clear up queryLibraryRef after sucess update

* add monitoring

* remove unnecessary change

* remove placeholder and integrate highlightQuery

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

* update tootlip text

* fix interaction importing issue

* updating i18n for query library editing badge

* update copy on saving actions

* keep copy short

---------

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

This reverts commit c662b880fd.

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

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

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

* clean up

* clean up

* i18n

* added read only status to repository page

* i18n

* fix

* readonly tooltip added local provisioning message

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

* chore: remove compact view work

* chore: cleanup

* chore: moar clean

* chore: use grid instead

* chore: remove no margin + i18n fix

* chore: betterer

* cleanupz

* chore: oh it needs noMargin

* feat: convert to alert

* chore: i18n extract

* i18n

* chore: polish

* fix: change localstorage provider import

* chore: update local storage key name

---------

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

* update client

* fix the openapi

* revert playlist change

* Fix unmanaged resource counts

---------

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

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

Fixes zizmor security finding with Medium confidence level.

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

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

* Rename them as RefURLs

* Implement RefURLs for Github

* Add Ref URLs to Jobs

* Worker Test

* Create the branch in the staged writer

* Regenerate Git mock

* Format code

* Consolidate ResourceURLs and RefURLs into one

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

This reverts commit 6fe0893630.

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

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

* Add integration test

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

* Refactor quota service to use config provider for configuration management

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

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

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

* Reverted to plus

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

* chore: i18n

* chore: refactor

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

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

---------

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

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

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

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

---------

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

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

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

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

* extra fields

* add variable

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

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

* Bump scenes to stable

* Cancel ongoing profile on dashboard scene page page unmount

* Update docs

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

* Generate client

* Put back History Jobs

* Add a controller to remove historic jobs after some minutes

* Start only if Loki is not used

* Format code

* Update OpenAPI spec

* Change log level

* Fix condition

* Fix staticcheck

* Use provisioning identity

* Fix registration APIs

* Fix readonly issue

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

* auto exit terminal ui

---------

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

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

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

---------

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

* Nanoseconds: add control in log line menu

* virtualization: adapt to timestamp format

* Translations

* LogLine: update test

* virtualization: update test

* LogLineMenu: update test

* LogListControls: add third state for new logs panel timestamps

* Logs Panel: expose as a new panel option

* Translations

* Logs Panel: set timestamp resolution from panel config

* Module: add default value

* LogLine: update test

* Spelling

* chore: rename setter

* LogListControls: use custom button for resolution

* Translations

* Translations

* Prettier

* Logs Panel: conditionally show timestamp and details options

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

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

* i18n extract

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

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

* attempt to improve caching with upfront action

* CYPRESS_INSTALL_BINARY: 0

* PUPPETEER_SKIP_DOWNLOAD: true

* use ubuntu-x64-large runners

* increase to 16 shards 🚀

* fix incorrect shard total

* ubuntu-x64 runners

* Revert "ubuntu-x64 runners"

This reverts commit 3411c7c5e1039263b17a3065cd7d45fa4c3c8f69.

* try caching node_modules

* fix flakey scopes test

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

* run again, last one had a dodgy trace

* try different runners for yarn instlal

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

* fix duplicate runs-on

* specify shell for composite action

* fix some flaky tests

* update codeowners

* dedupe yarn.lock

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

* align yarn action cache keys

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

* try without the node_modules magic

* actually skip the node_modules caching magic

* skip hardened mode

* skip downloading cypress

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

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

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

* wip: tab repeats rendering

* wip: tab repeats rework

* rework tab drag and drop to account for repeats

* add TabItemRepeater tests

* clean up

* prevent canvas actions in cloned tabs and rows

* add repeat name into tab title

* prettier ffix

* fix cloneLayout bug

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

* add logging

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

* apply test fixes from the original pr

* host might contain port already

* increase timeout

* increase timeout even more

* even larger timeouts

* Use eventually for stats

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

---------

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

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

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

* Add comment to trigger enterprise integration tests

* Trigger integration tests

* Collect error

* Move tests in wrong spot

* Clean up test

* Remove Eventually

* Remove duplicate not nil check

* Delete comment in infra tests

* Helper to create repository

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

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

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

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

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* migrate to v23

* migrate to v22

* refactor

* fix test

---------

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

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

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

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

* removing custom height

* use the latest experimental RDG with paging up and down

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

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

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

* move styles into their own file

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

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

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

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* restore bugfix from adversarial AI-generated JSON

* reorganize in light of recent and upcoming changes

* cleanup

* override the whitespace for markdown

* what are these auto imports about...

* fix cell height selector from merge

* also remove cellHeightCustom

* i18n

* avoid the important override in markdown cell styles

* revert some betterer config autoformatting

* slight code cleanup

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

* update panelid for empty table panel test

* link styles outside of cell style setup

* flesh out kitchen sink examples, update ImageCell and applyToRow

* clean up some inconsistent states

* fix lint issue

* gdev update

* format JSON to satisfy linter

* shortening the text in the long text field

---------

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

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

---------

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

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

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

* Dashboard Migrations: V32 No-op migration

* simplify

* Refactor to reduce nesting

* Dashboard Migrations: V30 value mappings and tooltip options

* Do not automigrate since graph is migrated in v27

* Refactor to reduce nesting

* Add test case for invalid mapping

* migrate to v29

* wip

* Fix tests

* fix output

* wip

* fix min version issue

* fix wire

* ignore gauge logic as it never get's executed

* add panel migration to test

* improvements

* update

* cleanup

* address mappings inconsistencies

* cleanup

* fix lint issues

* add cfg when initializing

* v27 migration

* migrate to v26

* preallocate array

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

* fix go lint

* don't preallocate; cleanup comments

* cleanup

* wip

* run internal provider function when getting a single panel

* clean up; add tests

* add tests for panel plugin service

* remove obsolete mock for getting panel plugin

* add tests for the whole pipeline

* fix test and lint

* fix test

* Fix missing scenarios

---------

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

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

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

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

* feat: Add plugin extension points for DataSource configuration components

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

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

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

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

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

* Add comprehensive tests for DataSource plugin extensions

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

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

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

* Update specs.md to reflect completed test implementation

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

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

* rm specs file

* lint

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

* tsc

* prettier: fix

* Fix datasource extension path format to resolve CI test failure

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

* fix: DataSourceTestingStatus test failures

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

All 10 tests now pass successfully.

* lint fix

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

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

* rm brittle tests

* DataSource: Replace individual buttons with dropdown menu in EditDataSourceActions

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

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

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

* refactor: use DataSourceConfigErrorStatus extension point for troubleshooting guide

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

* extract i18n

* lint:fix

* Revert "lint:fix"

This reverts commit 23cdb39672.

* lint:fix

* fix: mock plugin extensions registry in variables utils test

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

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

* fix: mock plugin extensions registry in explore query test

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

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

* better fix

* Fix EditDataSourceActions test by mocking utils and handling dropdown UI

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

* lint:fix

* refactor: extract duplicated allowedPluginIds to single source of truth

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

* refactor: update datasource extension link configurations

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

* removing unused config

* better dropdown

* fix: update EditDataSourceActions tests to match component implementation

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

* lint:fix

* remove extra check

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

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

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

* test: Update EditDataSourceActions tests for new dropdown implementation

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

* test: Add comprehensive test coverage for dropdown explore functionality

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

* translation

* compass icon for the explore item

* feat: refactor AlertSuccessMessage to accept extension links as props

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

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

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

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

* Split integration tests into multiple files

* Fix missing import

* Rename file to repository test

q

* Wrap worker errors with more context

* Fixed tests

* Add nolint

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

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

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

* Add Graph API troubleshooting guide

* Improve writing

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

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

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

* clean up final invite user experiment

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

* add some basic tests to util functions

* fix tests / jest mock conflicts

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

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

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

* Remove FIXME

* Format code

* Fetch job before update

* Add claims for all namespaces

* Remove unused import

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

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

---------

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

* Switch to AdvancedHttpSettings component

* Fix locale

* Betterer

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

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

* don't need to specify zod/v4 anymore

---------

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

* add extension for queryless apps, allow for multiple extensions

* add button to querywrapper

* remove debugger

* add hook to get tests to pass

* fix spelling of component

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

* fix datasourcemodal styling

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

* add comment

* fix the specific alerting links

* fix lint rule violations

* update translations

* fix unit tests

* kick CI

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

* update codeowners

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

* set failOnError: false to match previous behaviour

---------

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

* Use new DisableUsernameLoginProtection setting in tests where appropriate

* Update documentation for other brute force directives

* Avoid unecessary database calls

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

* Add test

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

* cuter

* add context and remove testing by sibling

---------

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

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

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

* Update folder client

* Add comment

* Add feature toggle

* Add new version of useFoldersQuery

* Error handling

* Format

* Rename feature toggle

* Remove options and move root folder constant

* Fix feature toggle merge

* Add feature toggle again

* Rename useFoldersQuery files

* Update API spec

* Fix test

* Add test

* Migrate delete folder button

* useGetFolderQueryFacade

* Use getFolder facade hook

* Recreate legacy getFolder from the APIs

* Fix imports

* Add comment

* Rename function

* Simulate virtual folders in the API client

* Translations

* Update test

* Move the hook out of the index file

* Fix undefined in test

* Better status combining

* Use real access api for virtual folders

* Add basic test for the hook

* Remove commented import

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

* Update tests

* Moved delete folder into facade hook

* Remove namespace attribute from virtual folders

* go lint

---------

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

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

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

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

* fix log

* remove mods to gosum

* fix missing plugin check

* debug log, not warn

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

---------

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

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

* InlineSecureValue: Move to its own package rather than service

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

* InlineSecureValue: Add gRPC client

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

* Wire: Add ProvideInlineSecureValueService to basic wireset

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

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

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

* Use 5 drivers instead

* Revert "Use 5 drivers instead"

This reverts commit 9c1fc3c70b.

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

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

* Infinite Scroll: add unit tests

* Remove log

* Remove log

* LogList: unify height calculation

* LogList: manage list height with resize observer

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

* Update docs

* Bump scenes

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

* Store entire ScopeNode, load from localSotrage

* Load nodes form localStorage on init

* Add runtime type validation

* Add tests

* Remove unused import

* Add parentNode name to selector integration test

* Deep clone

* Schema validation with zod

* Add comment

* Use zod for schema validation of scope object

* Update type validation of recent scope nodes

* Add comment

* Add expect ts error

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

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

* fix violations

* restore some unnecessarily removed labels

* use types instead of interfaces as before

* further fixes

* fix unit test

* commit translations and fix unit test

* upgrade plugin-ui to 0.10.8

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

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

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

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

**Why do we need this feature?**

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

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

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

**Who is this feature for?**

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

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

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

* fix: handle cases where request type is not set

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

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

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

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

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

---------

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

* remove cypress dashboards-suite

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

* fix package.json

* update CODEOWNERS

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

* assign some things...

* more delegating

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign more CODEOWNERS

* assign some more CODEOWNERS

* delete some unused files

* remove LocalStorageValueProvider and assign more CODEOWNERS

* remove WithFeatureToggle and assign more CODEOWNERS

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

* restore ticks, more CODEOWNERS

* finish assigning CODEOWNERS

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

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

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

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

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

* fix: Fix date formatting when rounded

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

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

---------

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

* make it configurable

* lint fix

* corrected unit test

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

* introduce tests

* cleaning

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

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

* wip

* Only return latest instant query result

* Always disable streaming for alerting queries

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

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

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

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

* Fix mistaken label and add better null logic to transpose

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

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

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

* Update docs content, simplify null logic

* Add test, clarify empty logic

---------

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

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

* Apply suggestions from code review

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

---------

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

* Fix secure value description

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

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

* tab indentation in cue file

* fix i18n

* trying an auto height with the updated RDG

* get auto cellHeight working

* i18n updates

* hoor disable_sanitize_html flag in MarkdownCell

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

* removing custom height

* use the latest experimental RDG with paging up and down

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

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* whoops, mis-merged the selector

* use a local count instead of getCellLinks

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

* fix linting on test

* gdev dashboard and smoketest for Markdown table

* remove cellHeightCustom

* reorganize in light of recent and upcoming changes

* remove one more reference to cellHeightCustom

* put getDefaultRowHeight back into a util

* clean up test

* swap cell height back to a radio

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

* don't memo defaultRowHeight

* final couple of style cleanups

* different approach to managing the auto height part of this

* kill console.log

* update i18n

* reorganized once more

* i18n

* guard against rowHeight being auto for virtualization

* may as well memoize the defaultRowHeight

* get rid of the enableVirtualization initializer thing

* fixes from CI

* fix test

* fix test

* just omit third arg for that test

* remove nonsensical test case

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

* fixes from review

* row expander doesn't need height

* remove console.log

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

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

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

* disable editing max wrapped lines for now

* disable wrap text line limit e2e

* new i18n extract after commenting out input

* wip

* kill max wrapped lines for now

* more cleanup

* remove targeting classes added for max wrapped lines

* fix Pill test

* couple more style cleanups

* fix e2es given these updates

* add a couple tests

* wip: tests

* add tests

* bump up capital letters in lorem ipsum

* fix copy-pasta mistake

* use a local count instead of getCellLinks

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

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

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

* consistency

* update error response

* error source

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

* Add dashboards v0alpha1 api client

* Update hook to use app platform search API

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

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

* LogLineContext: infinite scroll bottom

* LogLineContext: clean up styles and support both scrolls

* InfiniteScroll: support top scrolling

* LogLineContext: support center matched line

* LogLineContext: read options from storage

* LogLineContext: move padding container

* LogLineContext: reset on ui change

* LogLineContext: improve sort order and fix open in split

* LogLineContext: show log line

* Translations

* LogsPanel: integrate new context component

* LogLineContext: add unit test

* Prettier

* Remove unused import

* InfiniteScroll: add "scroll to load more" top

* LogLineContext: rename collapsible

* Update tests

* LogLineContext: refactor center button

* LogLineContext: handle overflow in small viewports

* LogLineContext: format referenced log line

* Memoize

* LogLineContext: make modal bigger

* LogList: improve a11y

* LogLineContext: flexbox magic

* LogLineContext: revert center button change

* LogsPanel: hide overflow

* LogLineContext: responsive min-height

* LogLineContext: fix wrap log message

* InfiniteScroll: improve direction handling

* Add feature flag

* Implement feature flag

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

* Add integration test

* Add integration test

* Handle nothing to commit error

* Fix leaky abstraction issue

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

* Fix linting

* Some fixes for integration test

* Improve tree to work with a root

* Some fixes with hacks

* Add additional checks

* Fix comment

* Fix path problems in test

* Fix more stuff

* Revert to use empty tree

* Remove changes in tree

* Finally fix the tests work

* Remove stale comment

* Fix linting

* Revert changes in test

* Fix error message for folder not found in resource tree

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

---------

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

* remove unused ts-expect-error

---------

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

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

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

* remove export

* housekeeping

* introduce MetricsModalContext to replace redux

* handle result pagination

* add search related values in context

* handle filtering

* handle search

* handle search and highlighting

* cleaning up

* better helpers

* remove unused types

* reorganize the code

* update settings

* improve search and fetch

* remove unused styles

* linting

* fix tests

* update

* lint

* i18n

* import order

* try to fix the test

* remove start call from variable editor

* fix highlighter

* fix pagination alignment

* make the entire row clickable and remove select button

* review updates

* remove settings

* use ufuzzy search

* fix tests

* use case-insensitive search

* review fixes

* fix pagination

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

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

* fix actionlint errors

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

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-07-31 14:37:36 -04:00
Adam Simpson 2d1271e981 query service: improve error handling and logging (#108948)
Co-authored-by: Sarah Zinger sarah.zinger@grafana.com
Co-authored-by: Gábor Farkas gabor.farkas@gmail.com
2025-07-31 14:10:21 -04:00
Dave Henderson e0dd56e4c7 fix(swagger): Fix swagger/OpenAPI defs for /api/anonymous/* endpoints (#108999)
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-07-31 14:08:42 -04:00
dependabot[bot] 3587439fb8 Bump cypress-io/github-action from 6.7.16 to 6.10.2 (#108649)
Bumps [cypress-io/github-action](https://github.com/cypress-io/github-action) from 6.7.16 to 6.10.2.
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](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
10747 changed files with 988742 additions and 339641 deletions
+25
View File
@@ -0,0 +1,25 @@
[build]
bin = "./bin/grafana-air"
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-air"
exclude_regex = ["_test.go", "_gen.go"]
exclude_unchanged = true
follow_symlink = true
include_dir = ["apps", "conf", "pkg", "public/views"]
include_ext = ["go", "ini", "toml", "html", "json"]
stop_on_error = true
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
-117
View File
@@ -1,117 +0,0 @@
// @ts-check
const emotionPlugin = require('@emotion/eslint-plugin');
const importPlugin = require('eslint-plugin-import');
const jestPlugin = require('eslint-plugin-jest');
const jsxA11yPlugin = require('eslint-plugin-jsx-a11y');
const lodashPlugin = require('eslint-plugin-lodash');
const barrelPlugin = require('eslint-plugin-no-barrel-files');
const reactPlugin = require('eslint-plugin-react');
const testingLibraryPlugin = require('eslint-plugin-testing-library');
const grafanaConfig = require('@grafana/eslint-config/flat');
const grafanaPlugin = require('@grafana/eslint-plugin');
// Include the Grafana config and remove the rules,
// as we just want to pull in all of the necessary configuration but not run the rules
// (this should only be concerned with checking rules that we want to improve,
// so there's no need to try and run the rules that will be linted properly anyway)
const { rules, ...baseConfig } = grafanaConfig;
/**
* @type {Array<import('eslint').Linter.Config>}
*/
module.exports = [
{
name: 'grafana/betterer-ignores',
ignores: [
'.github',
'.yarn',
'**/.*',
'**/*.gen.ts',
'**/build/',
'**/compiled/',
'**/dist/',
'data/',
'deployment_tools_config.json',
'devenv',
'e2e/test-plugins',
'e2e/tmp',
'packages/grafana-ui/src/components/Icon/iconBundle.ts',
'pkg',
'playwright-report',
'public/lib/monaco/',
'public/locales/_build',
'public/locales/**/*.js',
'public/vendor/',
'scripts/grafana-server/tmp',
'!.betterer.eslint.config.js',
],
},
{
name: 'react/jsx-runtime',
// @ts-ignore - not sure why but flat config is typed as a maybe?
...reactPlugin.configs.flat['jsx-runtime'],
},
{
files: ['**/*.{ts,tsx,js}'],
...baseConfig,
plugins: {
...baseConfig.plugins,
'@emotion': emotionPlugin,
lodash: lodashPlugin,
jest: jestPlugin,
import: importPlugin,
'jsx-a11y': jsxA11yPlugin,
'no-barrel-files': barrelPlugin,
'@grafana': grafanaPlugin,
'testing-library': testingLibraryPlugin,
},
linterOptions: {
// This reports unused disable directives that we can clean up but
// it also conflicts with the betterer eslint rules so disabled
reportUnusedDisableDirectives: false,
},
},
{
files: ['**/*.{js,jsx,ts,tsx}'],
rules: {
'@typescript-eslint/no-explicit-any': 'error',
'@grafana/no-aria-label-selectors': 'error',
'no-restricted-imports': [
'error',
{
patterns: [
{
group: ['@grafana/ui*', '*/Layout/*'],
importNames: ['Layout', 'HorizontalGroup', 'VerticalGroup'],
message: 'Use Stack component instead.',
},
{
group: ['@grafana/ui/src/*', '@grafana/runtime/src/*', '@grafana/data/src/*'],
message: 'Import from the public export instead.',
},
],
},
],
},
},
{
files: ['**/*.{js,jsx,ts,tsx}'],
ignores: [
'**/*.{test,spec}.{ts,tsx}',
'**/__mocks__/**',
'**/public/test/**',
'**/mocks.{ts,tsx}',
'**/spec/**/*.{ts,tsx}',
],
rules: {
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'never' }],
},
},
{
files: ['public/app/**/*.{ts,tsx}'],
rules: {
'no-barrel-files/no-barrel-files': 'error',
},
},
];
-3743
View File
File diff suppressed because it is too large Load Diff
-97
View File
@@ -1,97 +0,0 @@
import { BettererFileTest } from '@betterer/betterer';
import { ESLint } from 'eslint';
import { promises as fs } from 'fs';
// Why are we ignoring these?
// They're all deprecated/being removed so doesn't make sense to fix types
const eslintPathsToIgnore = [
'packages/grafana-ui/src/graveyard', // will be removed alongside angular in Grafana 12
'public/app/angular', // will be removed in Grafana 12
'public/app/plugins/panel/graph', // will be removed alongside angular in Grafana 12
'public/app/plugins/panel/table-old', // will be removed alongside angular in Grafana 12
];
// Avoid using functions that report the position of the issues, as this causes a lot of merge conflicts
export default {
'better eslint': () =>
countEslintErrors()
.include('**/*.{ts,tsx}')
.exclude(new RegExp(eslintPathsToIgnore.join('|'))),
'no undocumented stories': () => countUndocumentedStories().include('**/!(*.internal).story.tsx'),
'no gf-form usage': () =>
regexp(/gf-form/gm, 'gf-form usage has been deprecated. Use a component from @grafana/ui or custom CSS instead.')
.include('**/*.{ts,tsx,html}')
.exclude(new RegExp('packages/grafana-ui/src/themes/GlobalStyles')),
};
function countUndocumentedStories() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
filePaths.map(async (filePath) => {
// look for .mdx import in the story file
const mdxImportRegex = new RegExp("^import.*\\.mdx';$", 'gm');
// Looks for the "autodocs" string in the file
const autodocsStringRegex = /autodocs/;
const fileText = await fs.readFile(filePath, 'utf8');
const hasMdxImport = mdxImportRegex.test(fileText);
const hasAutodocsString = autodocsStringRegex.test(fileText);
// If both .mdx import and autodocs string are missing, add an issue
if (!hasMdxImport && !hasAutodocsString) {
// In this case the file contents don't matter:
const file = fileTestResult.addFile(filePath, '');
// Add the issue to the first character of the file:
file.addIssue(0, 0, 'No undocumented stories are allowed, please add an .mdx file with some documentation');
}
})
);
});
}
/**
* Generic regexp pattern matcher, similar to @betterer/regexp.
* The only difference is that the positions of the errors are not reported, as this may cause a lot of merge conflicts.
*/
function regexp(pattern: RegExp, issueMessage: string) {
return new BettererFileTest(async (filePaths, fileTestResult) => {
await Promise.all(
filePaths.map(async (filePath) => {
const fileText = await fs.readFile(filePath, 'utf8');
const matches = fileText.match(pattern);
if (matches) {
// File contents doesn't matter, since we're not reporting the position
const file = fileTestResult.addFile(filePath, '');
matches.forEach(() => {
file.addIssue(0, 0, issueMessage);
});
}
})
);
});
}
function countEslintErrors() {
return new BettererFileTest(async (filePaths, fileTestResult) => {
// Just bail early if there's no files to test. Prevents trying to get the base config from failing
if (filePaths.length === 0) {
return;
}
const runner = new ESLint({
overrideConfigFile: './.betterer.eslint.config.js',
warnIgnored: false,
});
const lintResults = await runner.lintFiles(Array.from(filePaths));
lintResults.forEach(({ messages, filePath }) => {
const file = fileTestResult.addFile(filePath, '');
messages
.sort((a, b) => (a.message > b.message ? 1 : -1))
.forEach((message, index) => {
file.addIssue(0, 0, message.message, `${index}`);
});
});
});
}
-13
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)"
-22
View File
@@ -1,22 +0,0 @@
module bra
go 1.24.1
tool github.com/unknwon/bra
require (
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
github.com/unknwon/com v1.0.1 // indirect
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect
github.com/urfave/cli v1.22.16 // indirect
golang.org/x/sys v0.32.0 // indirect
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
)
-70
View File
@@ -1,70 +0,0 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8/go.mod h1:fVle4kNr08ydeohzYafr20oZzbAkhQT39gKK/pFQ5M4=
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a h1:vcrhXnj9g9PIE+cmZgaPSwOyJ8MAQTRmsgGrB0x5rF4=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ=
github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-50
View File
@@ -1,50 +0,0 @@
module cog
go 1.24.1
tool github.com/grafana/cog/cmd/cli
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/expr-lang/expr v1.17.0 // indirect
github.com/getkin/kin-openapi v0.131.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.24.0 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/oauth2 v0.26.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.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.131.0 h1:NO2UeHnFKRYhZ8wg6Nyh5Cq7dHk4suQQr72a4pMrDxE=
github.com/getkin/kin-openapi v0.131.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.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
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.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
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.1
tool cuelang.org/go/cmd/cue
require (
cuelabs.dev/go/oci/ociregistry v0.0.0-20240906074133-82eb438dd565 // indirect
cuelang.org/go v0.11.1 // indirect
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/emicklei/proto v1.13.2 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/protocolbuffers/txtpbfmt v0.0.0-20241112170944-20d2c9ebc01d // indirect
github.com/rogpeppe/go-internal v1.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.39.0 // indirect
golang.org/x/oauth2 v0.26.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.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.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
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.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
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
-206
View File
@@ -1,206 +0,0 @@
module golangci-lint
go 1.24.1
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.2.1 // 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/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/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jgautheron/goconst v1.7.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jjti/go-spancheck v0.6.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/klauspost/compress v1.18.0 // 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/magiconair/properties v1.8.7 // indirect
github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.1 // indirect
github.com/matoous/godox 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/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // 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.21.1 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.63.0 // indirect
github.com/prometheus/procfs v0.15.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.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.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.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.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-20240909161429-701f63a606c0 // 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.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.0 // indirect
google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.6.1 // indirect
mvdan.cc/gofumpt v0.7.0 // indirect
mvdan.cc/unparam v0.0.0-20250301125049-0df0534333a4 // indirect
)
-599
View File
@@ -1,599 +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.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
github.com/go-viper/mapstructure/v2 v2.2.1/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-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s=
github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0=
github.com/gostaticanalysis/analysisutil v0.7.1 h1:ZMCjoue3DtDWQ5WyU16YbjbQEQ3VuzwxALrpYd+HeKk=
github.com/gostaticanalysis/analysisutil v0.7.1/go.mod h1:v21E3hY37WKMGSnbsw2S/ojApNWb6C1//mXO48CXbVc=
github.com/gostaticanalysis/comment v1.4.1/go.mod h1:ih6ZxzTHLdadaiSnF5WY3dxUoXfXAlTaRzuaNDlSado=
github.com/gostaticanalysis/comment v1.4.2/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/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jgautheron/goconst v1.7.1 h1:VpdAG7Ca7yvvJk5n8dMwQhfEZJh95kl/Hl9S1OI5Jkk=
github.com/jgautheron/goconst v1.7.1/go.mod h1:aAosetZ5zaeC/2EfMeRswtxUFBpe2Hr7HzkgX4fanO4=
github.com/jingyugao/rowserrcheck v1.1.1 h1:zibz55j/MJtLsjP1OF4bSdgXxwL1b+Vn7Tjzq7gFzUs=
github.com/jingyugao/rowserrcheck v1.1.1/go.mod h1:4yvlZSDb3IyDTUZJUmpZfm2Hwok+Dtp+nu2qOq+er9c=
github.com/jjti/go-spancheck v0.6.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/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
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/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/maratori/testableexamples v1.0.0 h1:dU5alXRrD8WKSjOUnmJZuzdxWOEQ57+7s93SLMxb2vI=
github.com/maratori/testableexamples v1.0.0/go.mod h1:4rhjL1n20TUTT4vdh3RDqSizKLyXp7K2u6HgraZCGzE=
github.com/maratori/testpackage v1.1.1 h1:S58XVV5AD7HADMmD0fNnziNHqKvSdDuEKdPD1rNTU04=
github.com/maratori/testpackage v1.1.1/go.mod h1:s4gRK/ym6AMrqpOa/kEbQTV4Q4jb7WeLZzVhVVVOQMc=
github.com/matoous/godox 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/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/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.21.1 h1:DOvXXTqVzvkIewV/CDPFdejpMCGeMcbGCQ8YOmu+Ibk=
github.com/prometheus/client_golang v1.21.1/go.mod h1:U9NM32ykUErtVBxdvD3zfi+EuFkkaBvMb09mIfe0Zgg=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.63.0 h1:YR/EIY1o3mEFP/kZCD7iDMnLPlGyuU2Gb3HIcXnA98k=
github.com/prometheus/common v0.63.0/go.mod h1:VVFF/fBIoToEnWRVkYoXEkq3R3paCoxG9PXP74SnV18=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/quasilyte/go-ruleguard v0.4.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.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sanposhiho/wastedassign/v2 v2.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.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/ssgreg/nlreturn/v2 v2.2.1 h1:X4XDI7jstt3ySqGU86YGAURbxw3oTDPK9sPEi6YEwQ0=
github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I=
github.com/stbenjam/no-sprintf-host-port v0.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-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk=
golang.org/x/exp/typeparams v0.0.0-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.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
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.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.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.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.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.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
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.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
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/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.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"
-20
View File
@@ -1,20 +0,0 @@
module jb
go 1.24.1
tool github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
golang.org/x/sys v0.32.0 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
)
-68
View File
@@ -1,68 +0,0 @@
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-55
View File
@@ -1,55 +0,0 @@
module lefthook
go 1.24.1
tool github.com/evilmartians/lefthook
require (
github.com/MakeNowJust/heredoc v1.0.0 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/briandowns/spinner v1.23.0 // indirect
github.com/charmbracelet/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/evilmartians/lefthook v1.4.8 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.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/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
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-20240909161429-701f63a606c0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/term v0.31.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.0 // indirect
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-115
View File
@@ -1,115 +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.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/evilmartians/lefthook v1.4.8 h1:8FmXWtfFiEZw3w18JbhVrp3g+Iy/j2XEo6gcC25+4KA=
github.com/evilmartians/lefthook v1.4.8/go.mod h1:anwwu2QiCEnsOCBHfRgGOB3/sd9FMVNhmY8l9DDQAG8=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.1.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.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
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-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61 h1:8ajkpB4hXVftY5ko905id+dOnmorcS2CHNxxHLLDcFM=
gopkg.in/alessio/shellescape.v1 v1.0.0-20170105083845-52074bc9df61/go.mod h1:IfMagxm39Ys4ybJrDb7W3Ob8RwxftP0Yy+or/NVz1O8=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+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=
+22
View File
@@ -0,0 +1,22 @@
module bra
go 1.24.5
tool github.com/unknwon/bra
require (
github.com/BurntSushi/toml v1.5.0 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fsnotify/fsnotify v1.8.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/smartystreets/goconvey v1.6.4 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 // indirect
github.com/unknwon/com v1.0.1 // indirect
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a // indirect
github.com/urfave/cli v1.22.16 // indirect
golang.org/x/sys v0.33.0 // indirect
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 // indirect
)
+70
View File
@@ -0,0 +1,70 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg=
github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e h1:JKmoR8x90Iww1ks85zJ1lfDGgIiMDuIptTOhJq+zKyg=
github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304 h1:Jpy1PXuP99tXNrhbq2BaPz9B+jNAvH1JPQQpG/9GCXY=
github.com/smartystreets/assertions v0.0.0-20190116191733-b6c0e53d7304/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20181108003508-044398e4856c/go.mod h1:XDJAKZRPZ1CvBcN2aX5YOUTYGHki24fSF0Iv48Ibg0s=
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8 h1:aVGB3YnaS/JNfOW3tiHIlmNmTDg618va+eT0mVomgyI=
github.com/unknwon/bra v0.0.0-20200517080246-1e3013ecaff8/go.mod h1:fVle4kNr08ydeohzYafr20oZzbAkhQT39gKK/pFQ5M4=
github.com/unknwon/com v1.0.1 h1:3d1LTxD+Lnf3soQiD4Cp/0BRB+Rsa/+RTvz8GMMzIXs=
github.com/unknwon/com v1.0.1/go.mod h1:tOOxU81rwgoCLoOVVPHb6T/wt8HZygqH5id+GNnlCXM=
github.com/unknwon/log v0.0.0-20150304194804-e617c87089d3/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a h1:vcrhXnj9g9PIE+cmZgaPSwOyJ8MAQTRmsgGrB0x5rF4=
github.com/unknwon/log v0.0.0-20200308114134-929b1006e34a/go.mod h1:1xEUf2abjfP92w2GZTV+GgaRxXErwRXcClbUwrNJffU=
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
github.com/urfave/cli v1.22.16 h1:MH0k6uJxdwdeWQTwhSO42Pwr4YLrNLwBtg1MRgTqPdQ=
github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20191020152052-9984515f0562/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBlQbo=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+50
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.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.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.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.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=
+20
View File
@@ -0,0 +1,20 @@
module jb
go 1.24.5
tool github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
require (
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/stretchr/testify v1.10.0 // indirect
golang.org/x/sys v0.33.0 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
)
+68
View File
@@ -0,0 +1,68 @@
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM=
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
github.com/campoy/embedmd v1.0.0/go.mod h1:oxyr9RCiSXg0M3VJ3ks0UGfp98BpSSGr0kpiX3MzVl8=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1 h1:eUd6EA1Qzz73Q4NLNLOrNkMb96+6NTTERbX9lqaxVwk=
github.com/jsonnet-bundler/jsonnet-bundler v0.5.1/go.mod h1:Qrdw/7mOFS2SKCOALKFfEH8gdvXJi8XZjw9g5ilpf4I=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220615213510-4f61da869c0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+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.4.0 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.7.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.1 // indirect
github.com/spf13/cobra v1.9.1 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.20.1 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
golang.org/x/sys v0.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.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs=
github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muesli/termenv v0.16.0 h1:S5AlUN9dENB57rsbnkPyfdGuWIlkmzJjbFf0Tf5FWUc=
github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo=
github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y=
github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4=
github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e h1:JVG44RsyaB9T2KIHavMF/ppJZNG9ZpyihvCd0w101no=
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 h1:nDVHiLt8aIbd/VzvPWN6kSOPE7+F/fNFDSXLVYkE/Iw=
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394/go.mod h1:sIifuuw/Yco/y6yb6+bDNfyeQ/MdPUy/hKEMYQV17cM=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.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.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.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.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.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=
-67
View File
@@ -1,67 +0,0 @@
module swagger
go 1.24.1
tool github.com/go-swagger/go-swagger/cmd/swagger
require (
dario.cat/mergo v1.0.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver/v3 v3.3.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/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/handlers v1.5.2 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/jessevdk/go-flags v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
github.com/spf13/afero v1.12.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/spf13/viper v1.19.0 // indirect
github.com/stretchr/testify v1.10.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/toqueteos/webbrowser v1.2.0 // indirect
go.mongodb.org/mongo-driver v1.16.1 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
golang.org/x/mod v0.24.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/text v0.24.0 // indirect
golang.org/x/tools v0.32.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
-132
View File
@@ -1,132 +0,0 @@
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.3.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.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/go-openapi/analysis v0.23.0 h1:aGday7OWupfMs+LbmLZG4k0MYXIANxcuBTYUC03zFCU=
github.com/go-openapi/analysis v0.23.0/go.mod h1:9mz9ZWaSlV8TvjQHLl2mUW2PbZtemkE8yA5v22ohupo=
github.com/go-openapi/errors v0.22.0 h1:c4xY/OLxUBSTiepAg3j/MHuAv5mJhnf53LLMWFB+u/w=
github.com/go-openapi/errors v0.22.0/go.mod h1:J3DmZScxCDufmIMsdOuDHxJbdOGC0xtUynjIx092vXE=
github.com/go-openapi/inflect v0.21.0 h1:FoBjBTQEcbg2cJUWX6uwL9OyIW8eqc9k4KhN4lfbeYk=
github.com/go-openapi/inflect v0.21.0/go.mod h1:INezMuUu7SJQc2AyR3WO0DqqYUJSj8Kb4hBd7WtjlAw=
github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ=
github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY=
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4=
github.com/go-openapi/loads v0.22.0 h1:ECPGd4jX1U6NApCGG1We+uEozOAvXvJSF4nnwHZ8Aco=
github.com/go-openapi/loads v0.22.0/go.mod h1:yLsaTCS92mnSAZX5WWoxszLj0u+Ojl+Zs5Stn1oF+rs=
github.com/go-openapi/runtime v0.28.0 h1:gpPPmWSNGo214l6n8hzdXYhPuJcGtziTOgUpvsFWGIQ=
github.com/go-openapi/runtime v0.28.0/go.mod h1:QN7OzcS+XuYmkQLw05akXk0jRH/eZ3kb18+1KwW9gyc=
github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY=
github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk=
github.com/go-openapi/strfmt v0.23.0 h1:nlUS6BCqcnAk0pyhi9Y+kdDVZdZMHfEKQiS4HaMgO/c=
github.com/go-openapi/strfmt v0.23.0/go.mod h1:NrtIpfKtWIygRkKVsxh7XQMDQW5HKQl6S5ik2elW+K4=
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
github.com/go-openapi/validate v0.24.0 h1:LdfDKwNbpB6Vn40xhTdNZAnfLECL81w+VX3BumrGD58=
github.com/go-openapi/validate v0.24.0/go.mod h1:iyeX1sEufmv3nPbBdX3ieNviWnOZaJ1+zquzJEf2BAQ=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37 h1:KFcZmKdZmapAog2+eL1buervAYrYolBZk7fMecPPDmo=
github.com/go-swagger/go-swagger v0.30.6-0.20240310114303-db51e79a0e37/go.mod h1:i1/E+d8iPNReSE7y04FaVu5OPKB3il5cn+T1Egogg3I=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI=
github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c h1:cqn374mizHuIWj+OSJCajGr/phAmuMug9qIX3l9CflE=
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M=
github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs=
github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4=
github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI=
github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ=
github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM=
go.mongodb.org/mongo-driver v1.16.1 h1:rIVLL3q0IHM39dvE+z2ulZLp9ENZKThVfuvN/IiN4l8=
go.mongodb.org/mongo-driver v1.16.1/go.mod h1:oB6AhJQvFQL4LEHyXi6aJzQJtBiTQHiAd83l0GdFaiw=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+1
View File
@@ -4,6 +4,7 @@
.gitignore
.vscode
bin
!bin/grafana-linux-k8s
data*
dist
docker
-44
View File
@@ -1,44 +0,0 @@
# To generate the .drone.yml file:
# 1. Modify the *.star definitions
# 2. Login to drone and export the env variables (token and server) shown here: https://drone.grafana.net/account
# 3. Run `make drone`
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
"""
This module returns a Drone configuration including pipelines and secrets.
"""
load("scripts/drone/events/cron.star", "cronjobs")
load("scripts/drone/events/main.star", "main_pipelines")
load("scripts/drone/events/pr.star", "pr_pipelines")
load(
"scripts/drone/events/release.star",
"integration_test_pipelines",
"publish_artifacts_pipelines",
"publish_npm_pipelines",
"publish_packages_pipeline",
)
load("scripts/drone/events/rrc-patch.star", "rrc_patch_pipelines")
load(
"scripts/drone/pipelines/publish_images.star",
"publish_image_pipelines_public",
)
load(
"scripts/drone/rgm.star",
"rgm",
)
load("scripts/drone/vault.star", "secrets")
def main(_ctx):
return (
pr_pipelines() +
main_pipelines() +
rrc_patch_pipelines() +
publish_image_pipelines_public() +
publish_artifacts_pipelines("public") +
publish_npm_pipelines() +
publish_packages_pipeline() +
rgm() +
integration_test_pipelines() +
cronjobs() +
secrets()
)
-5215
View File
File diff suppressed because it is too large Load Diff
+565 -105
View File
File diff suppressed because it is too large Load Diff
+28
View File
@@ -0,0 +1,28 @@
# These are just aliases to github-hosted runners
self-hosted-runner:
labels:
- github-hosted-ubuntu-arm64
- github-hosted-ubuntu-arm64-large
- github-hosted-ubuntu-x64-small
- github-hosted-ubuntu-x64-large
- github-hosted-windows-x64-large
- ubuntu-x64
- ubuntu-x64-io
- ubuntu-x64-small
- ubuntu-x64-small-io
- ubuntu-x64-large
- ubuntu-x64-large-io
- ubuntu-x64-xlarge
- ubuntu-x64-xlarge-io
- ubuntu-x64-2xlarge
- ubuntu-x64-2xlarge-io
- ubuntu-arm64
- ubuntu-arm64-io
- ubuntu-arm64-small
- ubuntu-arm64-small-io
- ubuntu-arm64-large
- ubuntu-arm64-large-io
- ubuntu-arm64-xlarge
- ubuntu-arm64-xlarge-io
- ubuntu-arm64-2xlarge
- ubuntu-arm64-2xlarge-io
+153
View File
@@ -0,0 +1,153 @@
name: Build and Package Grafana Enterprise / Pro
description: Creates Grafana artifacts using Dagger & `pkg/build/daggerbuild`
inputs:
artifacts:
description: |
Comma-delimited list of artifacts to build and package.
Artifacts follow a specific format of `{package-type}:{grafana-edition}:{architecture}`.
Not every combination of `package-type`, `grafana-edition`, and `architecture` are supported.
Examples:
* `grafana:linux/amd64:targz`, `grafana:linux/amd64:deb`
* `enterprise:linux/arm64:rpm, enterprise:linux/amd64:docker`
* `pro:docker:llinux/amd64`
required: true
type: string
grafana-path:
description: Path to a clone of the 'grafana' repo
default: grafana
type: string
grafana-enterprise-path:
description: Path to a clone of the 'grafana-enterprise' repo
default: grafana-enterprise
type: string
github-token:
type: string
required: true
version:
type: string
description: The version to embed in the grafana binary, example `v1.2.3`. If not provided, then the value in Grafana's package.json will be used
required: true
build-id:
type: string
description: an identifier number which can be traced back to the workflow run.
default: ${{github.run_id}}
required: false
patches-repo:
type: string
description: Repository to load for patches repo. If empty, patches won't be applied. Must be an HTTPS git URL.
required: false
default: ""
patches-ref:
type: string
description: git ref in the patches repo to check out.
required: false
default: main
patches-path:
type: string
description: Path in the repository where `.patch` files can be found.
required: false
default: main
checksum:
type: boolean
description: If true, then checksums will be produced for each file (with a '.sha256' extension)
required: false
default: false
verify:
type: boolean
description: If true, then the e2e smoke tests will run to verify the produced artifacts (--verify)
required: false
default: false
output:
type: string
description: Filename to redirect stdout to. Contains list of packages that were produced
default: packages.txt
required: false
docker-tag-format:
type: string
default: "{{ .version }}-{{ .arch }}"
description: Go template of Docker image tag
required: false
docker-tag-format-ubuntu:
type: string
default: "{{ .version }}-ubuntu-{{ .arch }}"
description: Go template of Docker image tag
required: false
docker-org:
type: string
description: Docker org of produced images
default: grafana
required: false
docker-registry:
type: string
description: Docker registry of produced images
default: docker.io
required: false
ubuntu-base:
type: string
default: 'ubuntu:22.04'
required: false
alpine-base:
type: string
default: 'alpine:3.22'
required: false
outputs:
dist-dir:
description: Directory where artifacts are placed
value: ${{ steps.output.outputs.dist_dir }}
file:
description: Path to file containing list of artifacts produced
value: ${{ steps.output.outputs.file }}
grafana-commit:
description: Commit hash of the HEAD of the grafana repository used to build grafana.
value: ${{ steps.output.outputs.grafana_commit }}
enterprise-commit:
description: Commit hash of the HEAD of the grafana-enterprise repository used to build grafana.
value: ${{ steps.output.outputs.enterprise_commit }}
version:
description: The `grafana` version that was embedded in the binary
value: ${{ steps.output.outputs.version }}
runs:
using: "composite"
steps:
- shell: bash
run: | # zizmor: ignore[github-env]
echo "GRAFANA_PATH=${{ github.workspace }}/${GRAFANA_DIR}" >> "$GITHUB_ENV"
echo "ENTERPRISE_PATH=${{ github.workspace }}/${ENTERPRISE_DIR}" >> "$GITHUB_ENV"
env:
GB_PATH: ${{ inputs.path }}
GRAFANA_DIR: ${{ inputs.grafana-path }}
ENTERPRISE_DIR: ${{ inputs.enterprise-path }}
- name: Build Grafana Enterprise packages
uses: dagger/dagger-for-github@e47aba410ef9bb9ed81a4d2a97df31061e5e842e
env:
VERSION: ${{ inputs.version }}
ARTIFACTS: ${{ inputs.artifacts }}
GITHUB_TOKEN: ${{ inputs.github-token }}
PATCHES_REPO: ${{ inputs.patches-repo }}
PATCHES_REF: ${{ inputs.patches-ref }}
PATCHES_PATH: ${{ inputs.patches-path }}
BUILD_ID: ${{ inputs.build-id }}
OUTFILE: ${{ inputs.output }}
DOCKER_ORG: ${{ inputs.docker-org }}
DOCKER_REGISTRY: ${{ inputs.docker-registry }}
TAG_FORMAT: ${{ inputs.docker-tag-format }}
UBUNTU_TAG_FORMAT: ${{ inputs.docker-tag-format-ubuntu }}
CHECKSUM: ${{ inputs.checksum }}
VERIFY: ${{ inputs.verify }}
ALPINE_BASE: ${{ inputs.alpine-base }}
UBUNTU_BASE: ${{ inputs.ubuntu-base }}
with:
verb: run
dagger-flags: --verbose=0
version: 0.18.8
args: go run -C ${GRAFANA_PATH} ./pkg/build/cmd artifacts --artifacts ${ARTIFACTS} --grafana-dir=${GRAFANA_PATH} --alpine-base=${ALPINE_BASE} --ubuntu-base=${UBUNTU_BASE} --enterprise-dir=${ENTERPRISE_PATH} --version=${VERSION} --patches-repo=${PATCHES_REPO} --patches-ref=${PATCHES_REF} --patches-path=${PATCHES_PATH} --build-id=${BUILD_ID} --tag-format="${TAG_FORMAT}" --ubuntu-tag-format="${UBUNTU_TAG_FORMAT}" --org=${DOCKER_ORG} --registry=${DOCKER_REGISTRY} --checksum=${CHECKSUM} --verify=${VERIFY} > $OUTFILE
- id: output
shell: bash
env:
OUTFILE: ${{ inputs.output }}
run: |
echo "dist_dir=dist" | tee -a $GITHUB_OUTPUT
echo "file=${OUTFILE}" | tee -a $GITHUB_OUTPUT
echo "grafana_commit=$(git -C ${GRAFANA_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
echo "enterprise_commit=$(git -C ${ENTERPRISE_PATH} rev-parse HEAD)" | tee -a $GITHUB_OUTPUT
echo "version=$(cat ${GRAFANA_BUILD_PATH}/dist/VERSION)" | tee -a $GITHUB_OUTPUT
+159
View File
@@ -0,0 +1,159 @@
name: Detect changed files
description: Detects whether any matching files have changed in the current PR
inputs:
self:
description: The path to the calling workflow (e.g. .github/workflows/backend-unit-tests.yml). It is regarded as any category.
required: true
outputs:
self:
description: Whether the calling workflow has changed in any way
value: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}
backend:
description: Whether the backend or self have changed in any way
value: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}
frontend:
description: Whether the frontend or self has changed in any way
value: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}
e2e:
description: Whether the e2e tests or self have changed in any way
value: ${{ steps.changed-files.outputs.e2e_any_changed == 'true' ||
steps.changed-files.outputs.backend_any_changed == 'true' ||
steps.changed-files.outputs.frontend_any_changed == 'true' || 'true' }}
e2e-cloud-plugins:
description: Whether the cloud plugins code or tests have changed in any way
value: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}
dev-tooling:
description: Whether the dev tooling or self have changed in any way
value: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}
docs:
description: Whether the docs or self have changed in any way
value: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}
dockerfile:
description: Whether the dockerfile or self have changed in any way
value: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}
runs:
using: composite
steps:
# Assumption: We've done a checkout with the actions/checkout action.
# It must persist credentials to allow the changed-files action to get more history.
- name: Detect changes
id: changed-files
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
with:
files_yaml: |
self:
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
dockerfile:
- 'Dockerfile'
backend:
- '!*.md'
- '!docs/**'
- '!.github/**'
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- '**/go.mod'
- '**/go.sum'
- 'go.mod'
- 'go.sum'
- 'go.work'
- 'go.work.sum'
- '**.go'
- 'pkg/**'
- '!pkg/**.md'
- 'apps/**'
- '!apps/**.md'
- 'build.sh'
- '.github/actions/change-detection/**'
- '**.cue'
- 'devenv/docker/blocks/*_tests/**'
- 'kindsv2/**'
- '${{ inputs.self }}'
frontend:
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- 'public/**'
- '**.js'
- '**.jsx'
- '**.ts'
- '**.tsx'
- '**.css'
- '**.mjs'
- 'yarn.lock'
- 'package.json'
- '!**.md'
- '.github/actions/change-detection/**'
- '**.cue'
- '.prettier*'
- '.yarnrc.yml'
- 'eslint.config.js'
- 'jest.config.js'
- 'nx.json'
- 'tsconfig.json'
- '.yarn/**'
- '${{ inputs.self }}'
e2e:
- 'e2e/**'
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- 'emails/**'
- 'pkg/**'
- 'proto/**'
- '**/Makefile'
- 'scripts/**'
- '!**.md'
- '.github/actions/change-detection/**'
- '**.cue'
- 'conf/**'
- 'cypress.config.js'
- '${{ inputs.self }}'
e2e_cloud_plugins:
- 'pkg/tsdb/azuremonitor/**'
- 'public/app/plugins/datasource/azuremonitor/**'
- 'e2e-playwright/cloud-plugins-suite/azure-monitor.spec.ts'
- '${{ inputs.self }}'
dev_tooling:
- '.github/actions/setup-enterprise/**'
- '.github/actions/checkout/**'
- '**.sh'
- '.trivyignore'
- '.prettierrc.js'
- '**/Makefile'
- 'proto/**.yaml'
- 'pkg/build/**'
- 'pkg/wire/**'
- 'scripts/**'
- '!**.md'
- '.citools/**'
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
docs:
- 'contribute/**'
- 'docs/**'
- '**.md'
- 'LICENSE'
- '.vale.ini'
- '.github/actions/change-detection/**'
- '${{ inputs.self }}'
- name: Print all change groups
shell: bash
run: |
echo "Self: ${{ steps.changed-files.outputs.self_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.self_all_changed_files }}"
echo "Backend: ${{ steps.changed-files.outputs.backend_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
echo "Frontend: ${{ steps.changed-files.outputs.frontend_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
echo "E2E: ${{ steps.changed-files.outputs.e2e_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.e2e_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.backend_all_changed_files }}"
echo " --> ${{ steps.changed-files.outputs.frontend_all_changed_files }}"
echo "E2E cloud plugins: ${{ steps.changed-files.outputs.e2e_cloud_plugins_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.e2e_cloud_plugins_all_changed_files }}"
echo "Dev Tooling: ${{ steps.changed-files.outputs.dev_tooling_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dev_tooling_all_changed_files }}"
echo "Docs: ${{ steps.changed-files.outputs.docs_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.docs_all_changed_files }}"
echo "Dockerfile: ${{ steps.changed-files.outputs.dockerfile_any_changed || 'true' }}"
echo " --> ${{ steps.changed-files.outputs.dockerfile_all_changed_files }}"
+35 -60
View File
@@ -1,6 +1,7 @@
import { appendFileSync, writeFileSync } from 'fs';
import { exec as execCallback } from 'node:child_process';
import { promisify } from 'node:util';
import {appendFileSync, writeFileSync} from 'fs';
import {exec as execCallback} from 'node:child_process';
import {promisify} from 'node:util';
import {findPreviousVersion, semverParse} from "./semver.js";
//
// Github Action core utils: logging (notice + debug log levels), must escape
@@ -9,35 +10,6 @@ import { promisify } from 'node:util';
const escapeData = (s) => s.replace(/%/g, '%25').replace(/\r/g, '%0D').replace(/\n/g, '%0A');
const LOG = (msg) => console.log(`::notice::${escapeData(msg)}`);
//
// Semver utils: parse, compare, sort etc (using official regexp)
// https://regex101.com/r/Ly7O1x/3/
//
const semverRegExp =
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
const semverParse = (tag) => {
const m = tag.match(semverRegExp);
if (!m) {
return;
}
const [_, major, minor, patch, prerelease] = m;
return [+major, +minor, +patch, prerelease, tag];
};
// semverCompare takes two parsed semver tags and comparest them more or less
// according to the semver specs
const semverCompare = (a, b) => {
for (let i = 0; i < 3; i++) {
if (a[i] !== b[i]) {
return a[i] < b[i] ? 1 : -1;
}
}
if (a[3] !== b[3]) {
return a[3] < b[3] ? 1 : -1;
}
return 0;
};
// Using `git tag -l` output find the tag (version) that goes semantically
// right before the given version. This might not work correctly with some
@@ -45,29 +17,32 @@ const semverCompare = (a, b) => {
// into this action explicitly to avoid this step.
const getPreviousVersion = async (version) => {
const exec = promisify(execCallback);
const { stdout } = await exec('git tag -l');
const prev = stdout
const {stdout} = await exec('git for-each-ref --sort=-creatordate --format \'%(refname:short)\' refs/tags');
const parsedTags = stdout
.split('\n')
.map(semverParse)
.filter((tag) => tag)
.sort(semverCompare)
.find((tag) => semverCompare(tag, semverParse(version)) > 0);
.filter(Boolean);
const parsedVersion = semverParse(version);
const prev = findPreviousVersion(parsedTags, parsedVersion);
if (!prev) {
throw `Could not find previous git tag for ${version}`;
}
return prev[4];
return prev[5];
};
// A helper for Github GraphQL API endpoint
const graphql = async (ghtoken, query, variables) => {
const { env } = process;
const {env} = process;
const results = await fetch('https://api.github.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${ghtoken}`,
},
body: JSON.stringify({ query, variables }),
body: JSON.stringify({query, variables}),
});
const res = await results.json();
@@ -100,7 +75,7 @@ const getCommitishDate = async (name, owner, target) => {
}
}
`,
{ name, owner, target }
{name, owner, target}
);
return result.repository.object.committedDate;
};
@@ -160,7 +135,7 @@ const getHistory = async (name, owner, from, to) => {
let cursor;
let nodes = [];
for (;;) {
for (; ;) {
const result = await graphql(ghtoken, query, {
name,
owner,
@@ -170,7 +145,7 @@ const getHistory = async (name, owner, from, to) => {
});
LOG(`GraphQL: ${JSON.stringify(result)}`);
nodes = [...nodes, ...result.repository.ref.compare.commits.nodes];
const { hasNextPage, endCursor } = result.repository.ref.compare.commits.pageInfo;
const {hasNextPage, endCursor} = result.repository.ref.compare.commits.pageInfo;
if (!hasNextPage) {
break;
}
@@ -186,7 +161,7 @@ const getHistory = async (name, owner, from, to) => {
// PR grouping relies on Github labels only, not on the PR contents.
const getChangeLogItems = async (name, owner, from, to) => {
// check if a node contains a certain label
const hasLabel = ({ labels }, label) => labels.nodes.some(({ name }) => name === label);
const hasLabel = ({labels}, label) => labels.nodes.some(({name}) => name === label);
// get all the PRs between the two "commitish" items
const history = await getHistory(name, owner, from, to);
@@ -197,17 +172,17 @@ const getChangeLogItems = async (name, owner, from, to) => {
return [];
}
const item = changes[0];
const { number, url, labels } = item;
const {number, url, labels} = item;
const title = item.title.replace(/^\[[^\]]+\]:?\s*/, '');
// for changelog PRs try to find a suitable category.
// Note that we can not detect "deprecation notices" like that
// as there is no suitable label yet.
const isBug = /fix/i.test(title) || hasLabel({ labels }, 'type/bug');
const isBreaking = hasLabel({ labels }, 'breaking change');
const isBug = /fix/i.test(title) || hasLabel({labels}, 'type/bug');
const isBreaking = hasLabel({labels}, 'breaking change');
const isPlugin =
hasLabel({ labels }, 'area/grafana/ui') ||
hasLabel({ labels }, 'area/grafana/toolkit') ||
hasLabel({ labels }, 'area/grafana/runtime');
hasLabel({labels}, 'area/grafana/ui') ||
hasLabel({labels}, 'area/grafana/toolkit') ||
hasLabel({labels}, 'area/grafana/runtime');
const author = item.commits.nodes[0].commit.author.user?.login;
return {
repo: name,
@@ -227,7 +202,7 @@ const getChangeLogItems = async (name, owner, from, to) => {
// ======================================================
LOG(`Changelog action started`);
console.log(process.argv);
const ghtoken = process.env.GITHUB_TOKEN || process.env.INPUT_GITHUB_TOKEN;
if (!ghtoken) {
throw 'GITHUB_TOKEN is not set and "github_token" input is empty';
@@ -286,15 +261,15 @@ const markdown = (changelog) => {
: `### ${title}
${items
.map(
(item) =>
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
item.repo === 'grafana-enterprise'
? '(Enterprise)'
: `${pullRequestLink(item.number)}${item.author ? ', ' + userLink(item.author) : ''}`
}`
)
.join('\n')}
.map(
(item) =>
`- ${item.title.replace(/^([^:]*:)/gm, '**$1**')} ${
item.repo === 'grafana-enterprise'
? '(Enterprise)'
: `${pullRequestLink(item.number)}${item.author ? ', ' + userLink(item.author) : ''}`
}`
)
.join('\n')}
`;
// Render all present sections for the given changelog
+92
View File
@@ -0,0 +1,92 @@
//
// Semver utils: parse, compare, sort etc (using official regexp)
// https://regex101.com/r/Ly7O1x/3/
//
const semverRegExp =
/^v?(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
export function semverParse(tag) {
const m = tag.match(semverRegExp);
if (!m) {
return;
}
const [_, major, minor, patch, prerelease, build] = m;
return [+major, +minor, +patch, prerelease, build, tag];
};
// semverCompare takes two parsed semver tags and comparest them more or less
// according to the semver specs
export function semverCompare(a, b) {
for (let i = 0; i < 3; i++) {
if (a[i] !== b[i]) {
return a[i] < b[i] ? 1 : -1;
}
}
if (a[3] !== b[3]) {
return a[3] < b[3] ? 1 : -1;
}
return 0;
};
// Finds the highest version that is lower than the target version.
//
// This function relies on the following invariant: versions are sorted by the release date.
// It will produce wrong result if invariant doesn't hold.
export const findPreviousVersion = (versionByDate, target) => {
let prev = null;
for (let i = 0; i < versionByDate.length; i++) {
const version = versionByDate[i];
// version is greater than the target
if (semverCompare(target, version) > 0) {
continue;
}
// we came across the target version, all versions seen previously have greater release date.
if (semverCompare(target, version) === 0 && target[4] === version[4]) {
prev = null;
continue;
}
if (prev == null) {
prev = version;
continue;
}
if (semverCompare(prev, version) > 0) {
prev = version;
}
}
return prev;
};
const versionsByDate = [
"v10.4.19", "v12.0.1", "v11.6.2", "v11.5.5", "v11.4.5", "v11.3.7", "v11.2.10", "v12.0.0+security-01", "v11.2.9+security-01", "v11.3.6+security-01",
"v11.6.1+security-01", "v11.4.4+security-01", "v11.5.4+security-01", "v10.4.18+security-01", "v12.0.0", "v11.6.1",
"v11.5.4", "v11.4.4", "v11.3.6", "v11.2.9", "v10.4.18", "v11.6.0+security-01", "v11.5.3+security-01", "v11.4.3+security-01",
"v11.3.5+security-01", "v11.2.8+security-01", "v10.4.17+security-01", "v11.2.8", "v11.6.0", "v11.5.2", "v11.4.2",
"v11.3.4", "v11.2.7", "v11.1.12", "v11.0.11", "v10.4.16", "v11.5.1", "v11.5.0", "v11.3.3", "v11.1.11", "v11.2.6",
"v11.0.10", "v10.4.15", "v11.4.1", "v11.4.0", "v11.3.2", "v11.2.5", "v11.1.10", "v11.0.9", "v10.4.14", "v11.3.1",
"v11.2.4", "v11.1.9", "v11.0.8", "v10.4.13", "v11.0.2", "v10.4.6", "v10.3.8", "v10.2.9", "v11.1.0", "v11.0.1",
"v10.4.5", "v10.3.7", "v10.2.8", "v9.5.20", "v10.4.4", "v9.5.19", "v10.1.10", "v10.2.7", "v10.3.6", "v10.4.3",
"v11.0.0", "v10.4.2", "v11.0.0-preview", "v10.1.9", "v10.0.13", "v9.2.0", "v9.1.8",
].map(semverParse);
function test(version, expected) {
const v1 = semverParse(version);
const prev = findPreviousVersion(versionsByDate, v1);
const failureMessage = `FAIILED. Expected ${expected}, but was ${prev[5]}`;
console.log(`Test ${version}, ${prev[5] === expected ? 'PASSED' : failureMessage}`);
}
test("v11.5.4+security-01", "v11.5.4");
test("v11.5.4", "v11.5.3+security-01");
test("v12.0.0", "v11.6.1");
test("v12.0.0+security-01", "v12.0.0");
test("v11.0.0", "v11.0.0-preview");
+48
View File
@@ -0,0 +1,48 @@
name: Check jobs results
description: Checks if any jobs have failed and exits with error if failures are found. Use to check the results of matrix test runs.
inputs:
needs:
description: JSON string containing the needs context from the workflow
required: true
failure-message:
description: Custom message to display when failures are found
required: false
default: "One or more jobs have failed"
success-message:
description: Custom message to display when all jobs pass
required: false
default: "All jobs passed successfully"
outputs:
any-failed:
description: Whether any jobs failed
value: ${{ steps.check-jobs.outputs.any-failed }}
runs:
using: "composite"
steps:
- name: Check test suites
id: check-jobs
shell: bash
env:
NEEDS: ${{ inputs.needs }}
FAILURE_MSG: ${{ inputs.failure-message }}
SUCCESS_MSG: ${{ inputs.success-message }}
run: |
set -euo pipefail
# Print the needs context, debugging
echo "$NEEDS" | jq
# Extract failures
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
# Check if there are any failures
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
echo "❌ $FAILURE_MSG"
echo "Failed suites:"
echo "$FAILURES" | jq -r 'to_entries[] | "- \(.key): \(.value)"'
echo "any-failed=true" >> "$GITHUB_OUTPUT"
exit 1
fi
echo "✅ $SUCCESS_MSG"
+4 -4
View File
@@ -34,9 +34,9 @@ runs:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
git clone https://x-access-token:${GH_TOKEN}@github.com/grafana/grafana-enterprise.git ../grafana-enterprise;
cd ../grafana-enterprise
if git checkout ${GITHUB_HEAD_REF}; then
echo "checked out ${GITHUB_HEAD_REF}"
elif git checkout ${GITHUB_BASE_REF}; then
@@ -44,5 +44,5 @@ runs:
else
git checkout main
fi
./build.sh
QUIET=1 ./build.sh
+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'
@@ -1,50 +0,0 @@
name: 'Go Coverage Processor'
description: 'Process Go test coverage files and generate reports'
inputs:
test-type:
description: 'Type of test (e.g., be-unit, be-integration)'
required: true
type: string
coverage-file:
description: 'Path to the Go coverage file (.cov)'
required: true
type: string
codecov-token:
description: 'Token for CodeCov (required for CodeCov reporting)'
required: false
default: ''
codecov-flag:
description: 'Flag to categorize the upload to CodeCov'
required: false
default: ''
codecov-name:
description: 'Custom name for the upload to CodeCov'
required: false
default: ''
runs:
using: 'composite'
steps:
- name: Process Go coverage output
shell: bash
env:
COVERAGE_FILE: ${{ inputs.coverage-file }}
run: |
# Ensure valid coverage file even if empty
if [ ! -s "$COVERAGE_FILE" ]; then
echo "Coverage file is empty, creating a minimal valid file"
echo "mode: set" > "$COVERAGE_FILE"
fi
- name: Report coverage to CodeCov
uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5
if: inputs.codecov-token != ''
with:
files: ${{ inputs.coverage-file }}
flags: ${{ inputs.codecov-flag || inputs.test-type }}
name: ${{ inputs.codecov-name || inputs.test-type }}
slug: grafana/grafana
# This URL doesn't use the Google auth, but is much more locked down. As such, it requires OIDC or a CodeCov-provided token to do anything.
url: https://codecov-webhook.grafana-dev.net
token: ${{ inputs.codecov-token }}
+47 -15
View File
@@ -128,7 +128,7 @@
"name": "datasource/Loki",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/203"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -136,7 +136,7 @@
"name": "datasource/Tempo",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -152,7 +152,7 @@
"name": "datasource/Parca",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -160,7 +160,7 @@
"name": "datasource/Elasticsearch",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/97"
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
@@ -168,7 +168,7 @@
"name": "datasource/Jaeger",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -176,7 +176,7 @@
"name": "datasource/Zipkin",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/221"
"url": "https://github.com/orgs/grafana/projects/457"
}
},
{
@@ -488,7 +488,23 @@
"name": "area/transformations",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/56"
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
"type": "label",
"name": "area/correlations",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
"type": "label",
"name": "area/expressions/sql",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/908"
}
},
{
@@ -568,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"
}
},
{
@@ -648,7 +664,7 @@
"name": "area/frontend/library-panels",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/482"
}
},
{
@@ -680,7 +696,7 @@
"name": "area/navigation",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -688,7 +704,7 @@
"name": "area/search",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -736,7 +752,7 @@
"name": "area/image-rendering",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/482"
"url": "https://github.com/orgs/grafana/projects/467"
}
},
{
@@ -880,7 +896,7 @@
"name": "area/dashboard/library-panel",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/482"
}
},
{
@@ -931,6 +947,14 @@
"url": "https://github.com/orgs/grafana/projects/202"
}
},
{
"type": "label",
"name": "area/gitsync",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/792"
}
},
{
"type": "label",
"name": "area/backend/db/sqlite",
@@ -984,7 +1008,7 @@
"name": "area/frontend/login",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/78"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -1016,7 +1040,7 @@
"name": "area/panel/dashboard-list",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/202"
"url": "https://github.com/orgs/grafana/projects/911"
}
},
{
@@ -1194,5 +1218,13 @@
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/699"
}
},
{
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
}
]
+1 -1
View File
@@ -8,11 +8,11 @@ updates:
directories:
- "/"
- "/apps/playlist"
- "/apps/secret"
- "/apps/investigations"
- "/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:"
}
]
+128
View File
@@ -0,0 +1,128 @@
---
- - :permit
- MIT
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:11:50.696368005 Z
- - :permit
- Apache 2.0
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- New BSD
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- Simplified BSD
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- Mozilla Public License 2.0
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957 Z
- - :permit
- ISC
- :who: Carl Bergquist
:why: Compatible license
:versions: []
:when: 2021-03-25 11:12:09.344787957
- - :license
- github.com/grafana/alerting
- GNU Affero GPL
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/advisor
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/alerting/notifications
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/dashboard
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/folder
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/investigations
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/playlist
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/aggregator
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/apimachinery
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/apps/secret
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/apiserver
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/promlib
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
- - :license
- github.com/grafana/grafana/pkg/semconv
- unknown
- :who: Carl Bergquist
:why: repository is owned by Grafana Labs
:versions: []
:when: 2025-05-03 13:10:00.000000000 Z
-32
View File
@@ -1,32 +0,0 @@
{
"queries": [
{
"name": "type_bug",
"query": "label:\"type/bug\" is:issue is:open"
},
{
"name": "type_docs",
"query": "label:\"type/docs\" is:issue is:open"
},
{
"name": "needs_investigation",
"query": "label:\"needs investigation\" is:issue is:open"
},
{
"name": "needs_more_info",
"query": "label:\"needs more info\" is:issue is:open"
},
{
"name": "triage_needs_confirmation",
"query": "label:\"triage/needs-confirmation\" is:issue is:open"
},
{
"name": "unlabeled",
"query": "is:open is:issue no:label"
},
{
"name": "open_prs",
"query": "is:open is:pull-request"
}
]
}
+66 -42
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": [
@@ -253,38 +243,6 @@
"action": "updateLabel",
"addLabel": "area/alerting"
},
{
"type": "label",
"name": "area/alerting",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/52"
}
},
{
"type": "author",
"name": "pr/external",
"notMemberOf": {
"org": "grafana"
},
"ignoreList": [
"renovate[bot]",
"dependabot[bot]",
"grafana-delivery-bot[bot]",
"grafanabot",
"alerting-team[bot]"
],
"action": "updateLabel",
"addLabel": "pr/external"
},
{
"type": "label",
"name": "type/docs",
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/69"
}
},
{
"type": "changedfiles",
"matches": [
@@ -445,5 +403,71 @@
],
"action": "updateLabel",
"addLabel": "area/panel/table"
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/azuremonitor/**/*",
"pkg/tsdb/azuremonitor/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/graphite/**/*",
"pkg/tsdb/graphite/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/influxdb/**/*",
"pkg/tsdb/influx/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/elasticsearch/**/*",
"pkg/tsdb/elasticsearch/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/cloud-monitoring/**/*",
"pkg/tsdb/cloud-monitoring/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
},
{
"type": "changedfiles",
"matches": [
"public/app/plugins/datasource/opentsdb/**/*",
"pkg/tsdb/opentsdb/**/*"
],
"action": "addToProject",
"addToProject": {
"url": "https://github.com/orgs/grafana/projects/190"
}
}
]
+27 -1
View File
@@ -2,7 +2,17 @@
extends: ["config:recommended"],
enabledManagers: ["npm"],
ignoreDeps: [
// ignoring these until we can upgrade to react 19
// see epic here: https://github.com/grafana/grafana/issues/98813
'@types/react',
'@types/react-dom',
'eslint-plugin-react-hooks',
'react',
'react-dom',
'react-refresh',
"@types/history", // this can be removed entirely when we upgrade history since v5 exposes types directly
"cypress", // cypress use is deprecated, we should not bump it anymore
"history", // we should bump this together with react-router-dom (see https://github.com/grafana/grafana/issues/76744)
"react-router", // we should bump this together with history and react-router-dom
"react-router-dom", // we should bump this together with history (see https://github.com/grafana/grafana/issues/76744)
@@ -22,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",
@@ -57,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"],
+66
View File
@@ -0,0 +1,66 @@
{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "GitHub Actions lint",
"version": {{ getVersion | json }},
"informationUri": "https://github.com/rhysd/actionlint",
"rules": [
{{$first := true}}
{{range $ := allKinds }}
{{if $first}}{{$first = false}}{{else}},{{end}}
{
"id": {{json $.Name}},
"name": {{$.Name | toPascalCase | json}},
"defaultConfiguration": {
"level": "error"
},
"properties": {
"description": {{json $.Description}},
"queryURI": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
},
"fullDescription": {
"text": {{json $.Description}}
},
"helpUri": "https://github.com/rhysd/actionlint/blob/main/docs/checks.md"
}
{{end}}
]
}
},
"results": [
{{$first := true}}
{{range $ := .}}
{{if $first}}{{$first = false}}{{else}},{{end}}
{
"ruleId": {{json $.Kind}},
"message": {
"text": {{json $.Message}}
},
"locations": [
{
"physicalLocation": {
"artifactLocation": {
"uri": {{json $.Filepath}},
"uriBaseId": "%SRCROOT%"
},
"region": {
"startLine": {{$.Line}},
"startColumn": {{$.Column}},
"endColumn": {{$.EndColumn}},
"snippet": {
"text": {{json $.Snippet}}
}
}
}
}
]
}
{{end}}
]
}
]
}
+60
View File
@@ -0,0 +1,60 @@
# This workflow depends on the ./actionlint-format.txt file. It is MIT licensed (thanks, rhysd!): https://github.com/rhysd/actionlint/blob/2ab3a12c7848f6c15faca9a92612ef4261d0e370/testdata/format/sarif_template.txt
name: Actionlint
on:
push:
branches:
- main
- release-*
pull_request:
types:
- opened
- synchronize
- reopened
permissions: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
run-actionlint:
name: Lint GitHub Actions files
runs-on: ubuntu-latest
permissions:
contents: read # to check out the code
actions: read # to read the workflow files
security-events: write # for uploading the SARIF report
env:
ACTIONLINT_VERSION: 1.7.7
# curl -LXGET https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_checksums.txt | grep linux_amd64
CHECKSUM: 023070a287cd8cccd71515fedc843f1985bf96c436b7effaecce67290e7e0757
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
persist-credentials: false
# GitHub Actions only runs x86_64. This will break if that assumption changes.
- name: Download Actionlint
run: |
set -euo pipefail
curl -OLXGET https://github.com/rhysd/actionlint/releases/download/v"${ACTIONLINT_VERSION}"/actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
echo "${CHECKSUM} actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" | sha256sum -c -
tar xzf actionlint_"${ACTIONLINT_VERSION}"_linux_amd64.tar.gz
test -f actionlint
chmod +x actionlint
- name: Run Actionlint
run: ./actionlint -format "$(cat .github/workflows/actionlint-format.txt)" | tee results.sarif
- name: Upload to GitHub security events
if: success() || failure()
# If there are security problems, GitHub will automatically comment on the PR for us.
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
with:
sarif_file: results.sarif
category: actionlint
+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.
+2 -2
View File
@@ -10,12 +10,12 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
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
+46 -23
View File
@@ -17,7 +17,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4 # 4.2.2
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Check if update branch exists
@@ -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"
@@ -37,7 +37,7 @@ jobs:
id: current-commit
run: |
FROM_COMMIT=$(go list -m -json github.com/grafana/alerting | jq -r '.Version' | grep -oP '(?<=-)[a-f0-9]+$')
echo "from_commit=$FROM_COMMIT" >> $GITHUB_OUTPUT
echo "from_commit=$FROM_COMMIT" >> "$GITHUB_OUTPUT"
- name: Get current branch name
id: current-branch-name
@@ -47,23 +47,23 @@ jobs:
id: latest-commit
env:
GH_TOKEN: ${{ github.token }}
BRANCH: ${{ steps.current-branch-name.outputs.name }}
run: |
BRANCH="${{ steps.current-branch-name.outputs.name }}"
TO_COMMIT=$(gh api repos/grafana/alerting/commits/$BRANCH --jq '.sha')
TO_COMMIT="$(gh api repos/grafana/alerting/commits/"$BRANCH" --jq '.sha')"
if [ -z "$TO_COMMIT" ]; then
echo "Branch $BRANCH not found in alerting repo, falling back to main branch"
echo "Branch $BRANCH not found in alerting repo"
exit 1
fi
echo "to_commit=$TO_COMMIT" >> $GITHUB_OUTPUT
echo "to_commit=$TO_COMMIT" >> "$GITHUB_OUTPUT"
- name: Compare commit hashes
run: |
FROM_COMMIT="${{ steps.current-commit.outputs.from_commit }}"
TO_COMMIT="${{ steps.latest-commit.outputs.to_commit }}"
# Compare just the length of the shorter hash
SHORT_TO_COMMIT="${TO_COMMIT:0:${#FROM_COMMIT}}"
if [ "$FROM_COMMIT" = "$SHORT_TO_COMMIT" ]; then
echo "Current version ($FROM_COMMIT) is already at latest ($SHORT_TO_COMMIT). No update needed."
exit 0
@@ -74,26 +74,31 @@ jobs:
id: check-commits
env:
GH_TOKEN: ${{ github.token }}
FROM_COMMIT: ${{ steps.current-commit.outputs.from_commit }}
TO_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
run: |
# get all commits that contains 'Alerting:' in the message
ALERTING_COMMITS=$(gh api repos/grafana/alerting/compare/${{ steps.current-commit.outputs.from_commit }}...${{ steps.latest-commit.outputs.to_commit }} \
--jq '.commits[].commit.message | split("\n")[0]') || true
# get all commits that contains 'Alerting:' in the message
ALERTING_COMMITS="$(gh api repos/grafana/alerting/compare/"$FROM_COMMIT"..."$TO_COMMIT" \
--jq '.commits[].commit.message | split("\n")[0]')" || true
# Use printf instead of echo -e for better multiline handling
printf "%s\n" "$ALERTING_COMMITS"
# make the list for markdown and replace PR numbers with links
ALERTING_COMMITS_FORMATTED=$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/grafana\/pull\/\1)/g'; done)
echo "alerting_commits<<EOF" >> $GITHUB_OUTPUT
echo "$ALERTING_COMMITS_FORMATTED" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
ALERTING_COMMITS_FORMATTED="$(echo "$ALERTING_COMMITS" | while read -r line; do echo "- $line" | sed -E 's/\(#([0-9]+)\)/[#\1](https:\/\/github.com\/grafana\/alerting\/pull\/\1)/g'; done)"
{
echo "alerting_commits<<EOF"
echo "$ALERTING_COMMITS_FORMATTED"
echo "EOF"
} >> "$GITHUB_OUTPUT"
- name: Update alerting module
env:
GOSUMDB: off
PINNED_COMMIT: ${{ steps.latest-commit.outputs.to_commit }}
run: |
go get github.com/grafana/alerting@${{ steps.latest-commit.outputs.to_commit }}
go get github.com/grafana/alerting@"$PINNED_COMMIT"
make update-workspace
- id: get-secrets
@@ -118,13 +123,16 @@ jobs:
title: 'Alerting: Update alerting module to ${{ steps.latest-commit.outputs.to_commit }}'
branch: alerting/update-alerting-module
delete-branch: true
labels: |
no-changelog
no-backport
body: |
Updates Grafana Alerting module to latest version.
Compare changes: https://github.com/grafana/alerting/compare/${{ steps.current-commit.outputs.from_commit }}...${{ steps.latest-commit.outputs.to_commit }}
<details>
<summary>Commits</summary>
${{ steps.check-commits.outputs.alerting_commits }}
</details>
@@ -132,6 +140,21 @@ jobs:
Created by: [GitHub Action Job](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})
- name: Add PR URL to Summary
if: steps.create-pr.outputs.pull-request-url != ''
env:
PR_URL: ${{ steps.create-pr.outputs.pull-request-url }}
run: |
echo "## Pull Request Created" >> $GITHUB_STEP_SUMMARY
echo "🔗 [View Pull Request](${{ steps.create-pr.outputs.pull-request-url }})" >> $GITHUB_STEP_SUMMARY
{
echo "## Pull Request Created"
echo "🔗 [View Pull Request]($PR_URL)"
} >> "$GITHUB_STEP_SUMMARY"
- name: Send Slack Message
uses: grafana/shared-workflows/actions/send-slack-message@send-slack-message/v2.0.3
with:
method: 'chat.postMessage'
# send to alerting-reviews channel
payload-templated: true
payload: |
{
"channel": "C076RNRRZ2N",
"text": "Update alerting module in Grafana ${{ steps.create-pr.outputs.pull-request-url }}"
}
@@ -3,12 +3,16 @@ name: Analytics Events Report
on:
workflow_dispatch:
permissions: {}
jobs:
generate-report:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
@@ -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
+30 -10
View File
@@ -14,20 +14,39 @@ on:
- '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@v5
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/backend-code-checks.yml
validate-configs:
permissions:
contents: read
id-token: write
needs: detect-changes
if: needs.detect-changes.outputs.changed == 'true'
name: Validate Backend Configs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
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
@@ -39,7 +58,8 @@ jobs:
run: |
CODEGEN_VERIFY=1 make gen-cue
CODEGEN_VERIFY=1 make gen-jsonnet
CODEGEN_VERIFY=1 make gen-apps
- name: Validate go.mod
run: go run scripts/modowners/modowners.go check go.mod
@@ -48,7 +68,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
@@ -57,10 +77,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
+100 -23
View File
@@ -2,16 +2,10 @@ name: Backend Unit Tests
on:
pull_request:
paths-ignore:
- 'docs/**'
- '**/*.md'
push:
branches:
- main
- release-*.*.*
paths-ignore:
- 'docs/**'
- '**/*.md'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -20,52 +14,135 @@ concurrency:
permissions: {}
jobs:
detect-changes:
name: Detect whether code changed
# Run on `grafana/grafana` main branch, or on pull requests to prevent double-running on mirrors
if: (github.event_name == 'pull_request' || (github.event_name == 'push' && github.repository == 'grafana/grafana'))
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
changed: ${{ steps.detect-changes.outputs.backend }}
steps:
- uses: actions/checkout@v5
with:
persist-credentials: true # required to get more history in the changed-files action
fetch-depth: 2
- name: Detect changes
id: detect-changes
uses: ./.github/actions/change-detection
with:
self: .github/workflows/backend-unit-tests.yml
grafana:
# Run this workflow only for PRs from forks; if it gets merged into `main` or `release-*`,
# Run this workflow only for PRs from forks
# the `pr-backend-unit-tests-enterprise` workflow will run instead
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true
name: Grafana
runs-on: ubuntu-latest-8-cores
needs: detect-changes
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
]
fail-fast: false
name: Grafana (${{ matrix.shard }})
runs-on: ubuntu-latest
continue-on-error: true
permissions:
contents: read
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
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: Generate Go code
run: make gen-go
- name: Run unit tests
run: make test-go-unit
env:
SHARD: ${{ matrix.shard }}
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
CGO_ENABLED=0 go test -short -timeout=30m "${PACKAGES[@]}"
grafana-enterprise:
# Run this workflow for non-PR events (like pushes to `main` or `release-*`) OR for internal PRs (PRs not from forks)
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false
name: Grafana Enterprise
runs-on: ubuntu-latest-8-cores
needs: detect-changes
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.changed == 'true'
strategy:
matrix:
shard: [
1/8, 2/8, 3/8, 4/8,
5/8, 6/8, 7/8, 8/8,
]
fail-fast: false
name: Grafana Enterprise (${{ matrix.shard }})
runs-on: ubuntu-x64-large
permissions:
contents: read
id-token: write
steps:
# Set up repository clone
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
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
uses: ./.github/actions/setup-enterprise
with:
github-app-name: 'grafana-ci-bot'
- name: Generate Go code
run: make gen-go
# Prepare what we need to upload test results
- run: echo "RESULTS_FILE=$(date --rfc-3339=seconds --utc | sed -s 's/ /-/g')_${SHARD/\//_}.xml" >> "$GITHUB_ENV"
env:
SHARD: ${{ matrix.shard }}
- run: go install github.com/jstemmer/go-junit-report/v2@85bf4716ac1f025f2925510a9f5e9f5bb347c009
# Run code
- name: Run unit tests
run: make test-go-unit
env:
SHARD: ${{ matrix.shard }}
run: |
set -euo pipefail
readarray -t PACKAGES <<< "$(./scripts/ci/backend-tests/shard.sh -N"$SHARD")"
# This tee requires pipefail to be set, otherwise `go test`'s exit code is thrown away.
# That means having no `-o pipefail` => failing tests => exit code 0, which is wrong.
CGO_ENABLED=0 go test -short -timeout=30m "${PACKAGES[@]}"
# This is the job that is actually required by rulesets.
# We need to require EITHER the OSS or the Enterprise job to pass.
# However, if one is skipped, GitHub won't flat-map the shards,
# so they won't be accepted by a ruleset.
required-backend-unit-tests:
needs:
- grafana
- grafana-enterprise
# always() is the best function here.
# success() || failure() will skip this function if any need is also skipped.
# That means conditional test suites will fail the entire requirement check.
if: always()
name: All backend unit tests complete
runs-on: ubuntu-latest
steps:
- name: Check test suites
env:
NEEDS: ${{ toJson(needs) }}
run: |
FAILURES="$(echo "$NEEDS" | jq 'with_entries(select(.value.result == "failure")) | map_values(.result)')"
echo "$FAILURES"
if [ "$(echo "$FAILURES" | jq '. | length')" != "0" ]; then
exit 1
fi
echo "All OK!"
+47
View File
@@ -0,0 +1,47 @@
# We need secrets to backport, but they're not available for actions ran by forks.
# So this workflow is used as a 'trigger', which the backport-workflow.yml will with
# via workflow_run
name: Backport (trigger)
on:
pull_request:
types:
- closed
- labeled
permissions: {}
jobs:
trigger:
# Only run this job if the PR has been merged and has a label containing "backport v"
if: |
github.repository == 'grafana/grafana' &&
github.event.pull_request.merged == true &&
contains(join(github.event.pull_request.labels.*.name, ','), 'backport v')
runs-on: ubuntu-latest
steps:
# TODO: save this as job summary instead?
- name: Trigger
run: |
echo "Triggering workflow"
echo "See https://github.com/${{ github.repository }}/actions/workflows/workflow_run.yml for progress"
# Create a JSON artifact with details of this PR to pass to the backport workflow.
# The { action: 'labelled', label: 'backport-1.23.x' } can only be determined from this event payload,
# and is needed to do a backport after a PR has been merged
#
# Important that we don't run *anything* from the PR which could modify the backport_data.json file
- name: Create action data
run: |
jq '{
action: .action,
label: .label.name,
pr_number: .number,
}' "$GITHUB_EVENT_PATH" > /tmp/pr_info.json
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: pr_info
path: /tmp/pr_info.json
retention-days: 1
+88
View File
@@ -0,0 +1,88 @@
# Runs the actual backport, after being triggered by the backport-trigger.yml workflow.
name: Backport (workflow)
run-name: "Backport for ${{ github.event.workflow_run.head_branch }} #${{ github.event.workflow_run.run_number }}"
on:
workflow_run: # zizmor: ignore[dangerous-triggers] backport-trigger.yml does not run any user code
workflows: ["Backport (trigger)"]
types:
- completed
permissions: {}
jobs:
backport:
# Only run this job if the triggering workflow was not skipped (and on grafana repo)
if: github.event.workflow_run.head_repository.fork == false && github.repository == 'grafana/grafana' && github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
permissions:
id-token: write
actions: read
steps:
- name: Get vault secrets
id: secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
export_env: false
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ fromJSON(steps.secrets.outputs.secrets).APP_PEM }}
- name: Download PR info artifact
uses: actions/download-artifact@v4
id: download-pr-info
with:
github-token: ${{ github.token }}
run-id: ${{ github.event.workflow_run.id }}
name: pr_info
- name: Get PR info
id: pr-info
env:
PR_INFO_FILE: ${{ steps.download-pr-info.outputs.download-path }}/pr_info.json
# jq-magic to convert the JSON object into a list of key=value pairs for $GITHUB_OUTPUT
run:
jq -r 'to_entries[] | select(.value | type != "object") | "\(.key)=\(.value)"' "$PR_INFO_FILE" >> "$GITHUB_OUTPUT"
- name: Print PR info
env:
PR_ACTION: ${{ steps.pr-info.outputs.action }}
PR_LABEL: ${{ steps.pr-info.outputs.label }}
PR_NUMBER: ${{ steps.pr-info.outputs.pr_number }}
run: |
echo "PR action: $PR_ACTION"
echo "PR label: $PR_LABEL"
echo "PR number: $PR_NUMBER"
- name: Checkout Grafana
uses: actions/checkout@v5
with:
ref: ${{ github.event.repository.default_branch }}
fetch-depth: 2
fetch-tags: false
token: ${{ steps.generate_token.outputs.token }}
persist-credentials: true
- name: Configure git user
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: Run backport
uses: grafana/grafana-github-actions-go/backport@dev
with:
token: ${{ steps.generate_token.outputs.token }}
# If triggered by being labelled, only backport that label.
# Otherwise, the action will backport all labels.
pr_label: ${{ steps.pr-info.outputs.action == 'labeled' && steps.pr-info.outputs.label || '' }}
pr_number: ${{ steps.pr-info.outputs.pr_number }}
repo_owner: ${{ github.repository_owner }}
repo_name: ${{ github.event.repository.name }}
-30
View File
@@ -1,30 +0,0 @@
name: Backport PR Creator
on:
pull_request_target:
types:
- closed
- labeled
permissions:
contents: write
pull-requests: write
jobs:
main:
if: github.repository == 'grafana/grafana'
runs-on: ubuntu-latest
steps:
- name: Clone
run: git clone --depth=1 "https://github.com/grafana/grafana.git"
- run: cd grafana && git config --local user.name "github-actions[bot]"
- run: cd grafana && git config --local user.email "github-actions[bot]@users.noreply.github.com"
- run: cd grafana && git config --local --add --bool push.autoSetupRemote true
- name: Set remote URL
env:
GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: cd grafana && git remote set-url origin "https://grafana-delivery-bot:$GIT_TOKEN@github.com/grafana/grafana.git"
- name: Run backport
uses: grafana/grafana-github-actions-go/backport@main
with:
path: grafana
token: ${{ secrets.GITHUB_TOKEN }}
+21 -9
View File
@@ -13,17 +13,29 @@ on:
required: false
permissions:
contents: write
pull-requests: write
id-token: write
contents: read
jobs:
bump-version:
runs-on: ubuntu-latest
steps:
- name: Checkout Grafana
uses: actions/checkout@v4
- uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
persist-credentials: false
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
with:
token: ${{ steps.generate_token.outputs.token }}
- name: Update package.json versions
uses: ./pkg/build/actions/bump-version
with:
@@ -35,13 +47,13 @@ jobs:
DRY_RUN: ${{ inputs.dry_run }}
REF_NAME: ${{ github.ref_name }}
RUN_ID: ${{ github.run_id }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "grafana-delivery-bot[bot]"
git config --local user.email "grafana-delivery-bot[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
git checkout -b "bump-version/${RUN_ID}/${VERSION}"
git add .
git commit -m "bump version ${VERSION}"
git push
gh pr create --dry-run=$DRY_RUN -l "type/ci" -l "no-changelog" -B "$REF_NAME" --title "Release: Bump version to ${VERSION}" --body "Updated version to ${VERSION}"
gh pr create --dry-run="$DRY_RUN" -l "type/ci" -l "no-changelog" -B "$REF_NAME" --title "Release: Bump version to ${VERSION}" --body "Updated version to ${VERSION}"
+48 -15
View File
@@ -22,6 +22,10 @@ on:
required: false
default: false
type: boolean
work_branch:
required: false
type: string
description: "Use specific branch for changelog"
workflow_dispatch:
inputs:
@@ -45,10 +49,12 @@ on:
required: false
default: false
type: boolean
work_branch:
required: false
type: string
description: "Use specific branch for changelog"
permissions:
contents: read
id-token: write
permissions: {}
jobs:
main:
@@ -60,6 +66,7 @@ jobs:
DRY_RUN: ${{ inputs.dry_run }}
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
pull-requests: write
steps:
@@ -77,18 +84,18 @@ jobs:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: "Checkout Grafana repo"
uses: "actions/checkout@v4"
uses: "actions/checkout@v5"
with:
ref: main
sparse-checkout: |
.github/workflows
.github/actions
CHANGELOG.md
.nvmrc
.prettierignore
.prettierrc.js
fetch-depth: 0
fetch-tags: true
persist-credentials: false
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
@@ -99,7 +106,20 @@ jobs:
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local --add --bool push.autoSetupRemote true
- name: "Create branch"
run: git checkout -b "changelog/${RUN_ID}/${VERSION}"
run: |
if [[ "$WORK_BRANCH" == '' ]]; then
git switch -c "changelog/${RUN_ID}/${VERSION}"
exit 0
fi
# Checkout the changelog branch if exists, otherwise create a new one
if git show-ref --verify --quiet "refs/remotes/origin/$WORK_BRANCH"; then
git switch --track "origin/$WORK_BRANCH"
else
git switch -c "$WORK_BRANCH"
fi
env:
WORK_BRANCH: ${{ inputs.work_branch }}
- name: "Generate changelog"
id: changelog
uses: ./.github/actions/changelog
@@ -143,16 +163,29 @@ jobs:
- name: "Commit changelog changes"
run: git add CHANGELOG.md && git commit --allow-empty -m "Update changelog" CHANGELOG.md
- name: "git push"
if: ${{ inputs.dry_run }} != true
if: inputs.dry_run != true
run: git push
- name: "Create changelog PR"
run: >
gh pr create \
--dry-run=${DRY_RUN} \
--label "no-backport" \
--label "no-changelog" \
-B "${TARGET}" \
--title "Release: update changelog for ${VERSION}" \
--body "Changelog changes for release ${VERSION}"
run: |
if gh pr view &>/dev/null; then
echo "Changelog pr has already been created"
else
gh pr create \
--dry-run="${DRY_RUN}" \
--label "no-backport" \
--label "no-changelog" \
-B "${TARGET}" \
--title "Release: update changelog for ${TARGET}" \
--body "Changelog changes for release versions:"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Add release version to PR description"
if: inputs.dry_run != true
run: |
gh pr view --json body --jq .body > pr_body.md
echo " - ${VERSION}" >> pr_body.md
gh pr edit --body-file pr_body.md
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+18
View File
@@ -0,0 +1,18 @@
name: Clean up orphaned branches
on:
workflow_dispatch:
schedule:
- cron: "0 9 * * 1"
jobs:
cleanup-branches:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps:
- uses: actions/checkout@v5
- uses: grafana/shared-workflows/actions/cleanup-branches@cleanup-branches/v1.0.0
with:
dry-run: true
max-date: "1 month ago"
+7 -3
View File
@@ -4,12 +4,16 @@ on:
pull_request:
branches: [ main ]
permissions: {}
jobs:
codeowners-validator:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
# Checks-out your repository, which is validated in the next step
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- name: GitHub CODEOWNERS Validator
@@ -23,7 +27,7 @@ jobs:
# "The comma-separated list of experimental checks that should be executed. By default, all experimental checks are turned off. Possible values: notowned,avoid-shadowing"
experimental_checks: "notowned,avoid-shadowing"
# The repository path in which CODEOWNERS file should be validated."
repository_path: "."
@@ -37,4 +41,4 @@ jobs:
owner_checker_allow_unowned_patterns: "false"
# Specifies whether only teams are allowed as owners of files.
owner_checker_owners_must_be_teams: "false"
owner_checker_owners_must_be_teams: "false"
+30 -6
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@v5
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
@@ -33,28 +54,31 @@ jobs:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['javascript', 'go', 'python']
# Supported options are listed here
# https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#changing-the-languages-that-are-analyzed
language: ['actions', 'javascript', 'go']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v4
if: needs.detect-changes.outputs[matrix.language] == 'true'
uses: actions/checkout@v5
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
persist-credentials: false
- if: matrix.language == 'go'
- if: matrix.language == 'go' && needs.detect-changes.outputs.go == 'true'
name: Set go version
uses: actions/setup-go@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 }}
@@ -63,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
+9 -9
View File
@@ -24,7 +24,7 @@ jobs:
id: check
shell: bash
run: |
if [ "${{ github.repository }}" == "grafana/grafana" ] && [ -n "${{ secrets.GRAFANA_MISC_STATS_API_KEY }}" ]; then
if [ "${{ github.repository }}" == "grafana/grafana" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
@@ -42,18 +42,18 @@ jobs:
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- name: "Generate token"
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- name: Checkout Actions
uses: actions/checkout@v4 # v4.2.2
uses: actions/checkout@v5
with:
repository: "grafana/grafana-github-actions"
path: ./actions
@@ -65,6 +65,6 @@ jobs:
- name: Run Commands
uses: ./actions/commands
with:
metricsWriteAPIKey: ${{secrets.GRAFANA_MISC_STATS_API_KEY}}
metricsWriteAPIKey: ""
token: ${{ steps.generate_token.outputs.token }}
configPath: commands
-2
View File
@@ -37,7 +37,6 @@ jobs:
with:
# Secrets placed in the ci/repo/grafana/grafana/community_release path in Vault
repo_secrets: |
GRAFANA_MISC_STATS_API_KEY=community_release:GRAFANA_MISC_STATS_API_KEY
GRAFANABOT_FORUM_KEY=community_release:GRAFANABOT_FORUM_KEY
- name: Run community-release (manually invoked)
@@ -45,7 +44,6 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ env.GRAFANA_MISC_STATS_API_KEY }}
community_api_key: ${{ env.GRAFANABOT_FORUM_KEY }}
community_api_username: grafanabot
dry_run: ${{ inputs.dry_run }}
@@ -43,12 +43,12 @@ jobs:
version: ${{ steps.build_frontend.outputs.version }}
steps:
- name: checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Verify inputs
run: |
if [ -z $PLUGIN_ID ]; then echo "Missing plugin ID"; exit 1; fi
if [ -z "$PLUGIN_ID" ]; then echo "Missing plugin ID"; exit 1; fi
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main # zizmor: ignore[unpinned-uses]
with:
@@ -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@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db'
- name: Setup nodejs environment
uses: actions/setup-node@v4
with:
@@ -72,13 +72,13 @@ jobs:
shell: bash
id: get_dir
run: |
dir=$(dirname \
$(egrep -lir --include=plugin.json --exclude-dir=dist \
'"id": "${PLUGIN_ID}"' \
dir="$(dirname \
"$(grep -Elir --include=plugin.json --exclude-dir=dist \
'"id": "'"${PLUGIN_ID}"'"' \
public/app/plugins \
) \
)
echo "dir=${dir}" >> $GITHUB_OUTPUT
)" \
)"
echo "dir=${dir}" >> "$GITHUB_OUTPUT"
- name: Install frontend dependencies
shell: bash
working-directory: ${{ steps.get_dir.outputs.dir }}
@@ -88,20 +88,20 @@ jobs:
shell: sh
working-directory: ${{ steps.get_dir.outputs.dir }}
run: |
[ ! -d ./bin ] && mkdir -pv ./bin || true
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v$GRABPL_VERSION/grabpl
mkdir -pv ./bin
curl -fL -o ./bin/grabpl https://grafana-downloads.storage.googleapis.com/grafana-build-pipeline/v"$GRABPL_VERSION"/grabpl
chmod 0755 ./bin/grabpl
- name: Check backend
id: check_backend
shell: bash
run: |
if egrep -qr --include=main.go 'datasource.Manage\("$PLUGIN_ID"' pkg/tsdb; then
echo "has_backend=true" >> $GITHUB_OUTPUT
if grep -Eqr --include=main.go 'datasource.Manage\('"$PLUGIN_ID" pkg/tsdb; then
echo "has_backend=true" >> "$GITHUB_OUTPUT"
else
echo "has_backend=false" >> $GITHUB_OUTPUT
echo "has_backend=false" >> "$GITHUB_OUTPUT"
fi
- name: Setup golang environment
uses: actions/setup-go@19bb51245e9c80abacb2e91cc42b33fa478b8639
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5
if: steps.check_backend.outputs.has_backend == 'true'
with:
go-version-file: go.mod
@@ -149,6 +149,8 @@ jobs:
- name: build:frontend
shell: bash
id: build_frontend
env:
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
run: |
command="plugin:build:commit"
if [ "$GITHUB_REF" != "refs/heads/main" ]; then
@@ -156,15 +158,15 @@ jobs:
command="plugin:build"
fi
yarn $command --scope="@grafana-plugins/$PLUGIN_ID"
version=$(cat ${{ steps.get_dir.outputs.dir }}/dist/plugin.json | jq -r .info.version)
echo "version=${version}" >> $GITHUB_OUTPUT
version="$(jq -r .info.version "$OUTPUT_DIR"/dist/plugin.json)"
echo "version=${version}" >> "$GITHUB_OUTPUT"
- name: build:backend
if: steps.check_backend.outputs.has_backend == 'true'
shell: bash
env:
VERSION: ${{ steps.build_frontend.outputs.version }}
run: |
make build-plugin-go PLUGIN_ID=$PLUGIN_ID
make build-plugin-go PLUGIN_ID="$PLUGIN_ID"
- name: package
working-directory: ${{ steps.get_dir.outputs.dir }}
run: |
@@ -177,16 +179,17 @@ jobs:
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCOM_API: ${{ env.GCOM_API }}
run: |
api_res=$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
'${{ env.GCOM_API}}/api/plugins/$PLUGIN_ID?version=$VERSION' \
-H 'accept: application/json')
api_res_code=$(echo $api_res | jq -r .code)
api_res="$(curl -X 'GET' -H "Authorization: Bearer $GCOM_TOKEN" \
"$GCOM_API/api/plugins/$PLUGIN_ID?version=$VERSION" \
-H 'accept: application/json')"
api_res_code="$(echo "$api_res" | jq -r .code)"
if [ "$api_res_code" = "NotFound" ]; then
echo "No existing release found"
else
echo "Expecting a missing release, got:"
echo $api_res
echo "$api_res"
exit 1
fi
- name: store build artifacts
@@ -197,55 +200,46 @@ jobs:
- name: Publish release to Google Cloud Storage
working-directory: ${{ steps.get_dir.outputs.dir }}
env:
VERSION: ${{ steps.build_frontend.outputs.version }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
run: |
echo "Publish release to Google Cloud Storage:"
set -x
touch ci/packages/windows ci/packages/darwin ci/packages/linux ci/packages/any
gsutil -m cp -r ci/packages/*windows* gs://${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/windows
gsutil -m cp -r ci/packages/*linux* gs://${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/linux
gsutil -m cp -r ci/packages/*darwin* gs://${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/darwin
gsutil -m cp -r ci/packages/*any* gs://${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/any
gsutil -m cp -r ci/packages/*windows* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/windows"
gsutil -m cp -r ci/packages/*linux* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/linux"
gsutil -m cp -r ci/packages/*darwin* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/darwin"
gsutil -m cp -r ci/packages/*any* "gs://$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any"
- name: Publish new plugin version on grafana.com
if: steps.check_backend.outputs.has_backend == 'true'
working-directory: ${{ steps.get_dir.outputs.dir }}
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
GCOM_API: ${{ env.GCOM_API }}
run: |
echo "Publish new plugin version on grafana.com:"
echo "Plugin version: ${VERSION}"
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
\"download\": {
\"linux-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/linux/$PLUGIN_ID-${VERSION}.linux_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-linux_amd64.json | jq -r .plugin.md5)\"
},
\"linux-arm64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/linux/$PLUGIN_ID-${VERSION}.linux_arm64.zip\",
\"md5\": \"$(cat ci/packages/info-linux_arm64.json | jq -r .plugin.md5)\"
},
\"linux-arm\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/linux/$PLUGIN_ID-${VERSION}.linux_arm.zip\",
\"md5\": \"$(cat ci/packages/info-linux_arm.json | jq -r .plugin.md5)\"
},
\"windows-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/windows/$PLUGIN_ID-${VERSION}.windows_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-windows_amd64.json | jq -r .plugin.md5)\"
},
\"darwin-amd64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/darwin/$PLUGIN_ID-${VERSION}.darwin_amd64.zip\",
\"md5\": \"$(cat ci/packages/info-darwin_amd64.json | jq -r .plugin.md5)\"
},
\"darwin-arm64\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/darwin/$PLUGIN_ID-${VERSION}.darwin_arm64.zip\",
\"md5\": \"$(cat ci/packages/info-darwin_arm64.json | jq -r .plugin.md5)\"
}
}
}"`
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
jq -n '{"url": env.OUTPUT_URL}' > body.json
osarchs=(linux_amd64 linux_arm64 linux_arm windows_amd64 darwin_amd64 darwin_arm64)
for osarch in "${osarchs[@]}"; do
echo "Processing $osarch"
KEY="${osarch//_/-}" \
OSARCH="$osarch" \
jq -s '. as $i | .[0] | .download[env.KEY] = {
"url": "https://storage.googleapis.com/\(env.GCP_BUCKET)/\(env.PLUGIN_ID)/release/\(env.VERSION)/linux/\(env.PLUGIN_ID)-\(env.VERSION).\(env.OSARCH).zip",
"md5": $i[1].plugin.md5
}' body.json ci/packages/info-"$osarch".json > tmp.json && mv tmp.json body.json
done
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
echo "Failed to publish plugin version. Got:"
echo $result
echo "$result"
exit 1
fi
- name: Publish new plugin version on grafana.com (frontend only)
@@ -254,20 +248,29 @@ jobs:
env:
GCOM_TOKEN: ${{ env.PLUGINS_GCOM_TOKEN }}
VERSION: ${{ steps.build_frontend.outputs.version }}
GCOM_API: ${{ env.GCOM_API }}
OUTPUT_DIR: ${{ steps.get_dir.outputs.dir }}
GCP_BUCKET: ${{ env.GCP_BUCKET }}
run: |
echo "Publish new plugin version on grafana.com:"
echo "Plugin version: ${VERSION}"
result=`curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" ${{ env.GCOM_API}}/api/plugins -d "{
\"url\": \"https://github.com/grafana/grafana/tree/main/${{ steps.get_dir.outputs.dir }}\",
\"download\": {
\"any\": {
\"url\": \"https://storage.googleapis.com/${{ env.GCP_BUCKET }}/$PLUGIN_ID/release/${VERSION}/any/$PLUGIN_ID-${VERSION}.any.zip\",
\"md5\": \"$(cat ci/packages/info-any.json | jq -r .plugin.md5)\"
OUTPUT_URL="https://github.com/grafana/grafana/tree/$OUTPUT_DIR" \
DOWNLOAD_URL="https://storage.googleapis.com/$GCP_BUCKET/$PLUGIN_ID/release/${VERSION}/any/$PLUGIN_ID-${VERSION}.any.zip" \
MD5_CHECKSUM="$(jq -r '.plugin.md5' ci/packages/info-any.json)" \
jq -rn '{
"url": env.OUTPUT_URL,
"download": {
"any": {
"url": env.DOWNLOAD_URL,
"md5": env.MD5_CHECKSUM
}
}
}"`
if [[ "$(echo $result | jq -r .version)" == "null" ]]; then
}' > body.json
result="$(curl -H "Authorization: Bearer $GCOM_TOKEN" -H "Content-Type: application/json" "$GCOM_API"/api/plugins --data-binary '@body.json')"
if [[ "$(echo "$result" | jq -r .version)" == "null" ]]; then
echo "Failed to publish plugin version. Got:"
echo $result
echo "$result"
exit 1
fi
@@ -42,10 +42,12 @@ jobs:
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
repositories: "[\"grafana\", \"grafana-enterprise\"]"
permissions: "{\"contents\": \"write\", \"pull_requests\": \"write\", \"workflows\":\"write\"}"
- name: Create release branch
id: branch
uses: grafana/grafana-github-actions-go/bump-release@main # zizmor: ignore[unpinned-uses]
@@ -0,0 +1,79 @@
name: Create security branch
on:
workflow_call:
inputs:
release_branch:
type: string
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
required: true
security_branch_number:
type: string
description: 'The security branch number (e.g., 01)'
required: false
default: '01'
repository:
type: string
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
required: true
outputs:
branch:
description: The new security branch that was created
value: ${{ jobs.main.outputs.branch }}
workflow_dispatch:
inputs:
release_branch:
type: string
description: The release branch to increment (eg providing `release-11.2.3` will result in `release-11.2.3+security-01` being created)
required: true
security_branch_number:
type: string
description: 'The security branch number (e.g., 01)'
required: false
default: '01'
repository:
type: string
description: 'The repository to create the security branch in (e.g., grafana/grafana-security-mirror)'
required: true
permissions:
contents: write
id-token: write
jobs:
main:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.branch.outputs.branch }}
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/data/repo/grafana/grafana/delivery-bot-app path in Vault
repo_secrets: |
GRAFANA_DELIVERY_BOT_APP_PEM=delivery-bot-app:PRIVATE_KEY
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ vars.DELIVERY_BOT_APP_ID }}
private_key: ${{ env.GRAFANA_DELIVERY_BOT_APP_PEM }}
- name: Checkout repository
uses: actions/checkout@v5
with:
token: ${{ steps.generate_token.outputs.token }}
repository: ${{ inputs.repository }}
ref: ${{ inputs.release_branch }}
- name: Create security branch
id: branch
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
INPUT_RELEASE_BRANCH: ${{ inputs.release_branch }}
INPUT_SECURITY_BRANCH_NUMBER: ${{ inputs.security_branch_number }}
INPUT_REPOSITORY: ${{ inputs.repository }}
run: |
chmod +x .github/workflows/scripts/create-security-branch/create-security-branch.sh
.github/workflows/scripts/create-security-branch/create-security-branch.sh
@@ -11,7 +11,7 @@ env:
ORGANIZATION: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
TARGET_PROJECT: 202
LABEL_IDs: "LA_kwDOAOaWjc8AAAABT38U-A"
LABEL_IDS: "LA_kwDOAOaWjc8AAAABT38U-A"
concurrency:
group: issue-label-when-in-project-${{ github.event.number }}
@@ -26,25 +26,26 @@ jobs:
with:
# Secrets placed in the ci/repo/grafana/grafana/plugins_platform_issue_commands_github_bot path in Vault
repo_secrets: |
GH_APP_ID=plugins_platform_issue_commands_github_bot:app_id
GH_APP_PEM=plugins_platform_issue_commands_github_bot:app_pem
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- name: "Generate token"
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app_id: ${{ env.GH_APP_ID }}
private_key: ${{ env.GH_APP_PEM }}
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- name: Check if issue is in target project
env:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
TARGET_PROJECT: ${{ env.TARGET_PROJECT }}
run: |
# shellcheck disable=SC2016 # we don't want the $s to be expanded
gh api graphql -f query='
query($org: String!, $repo: String!) {
query($org: String!, $repo: String!, $issueNumber: Int!) {
repository(name: $repo, owner: $org) {
issue (number: $ISSUE_NUMBER) {
issue (number: $issueNumber) {
id
projectItems(first:20) {
nodes {
@@ -55,15 +56,18 @@ jobs:
}
}
}
}' -f org=$ORGANIZATION -f repo=$REPO > projects_data.json
}' -f org="$ORGANIZATION" -f repo="$REPO" -F issueNumber="$ISSUE_NUMBER" > projects_data.json
echo 'IN_TARGET_PROJ='$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number=='"$TARGET_PROJECT"') | .project != null' projects_data.json) >> $GITHUB_ENV
echo 'ITEM_ID='$(jq '.data.repository.issue.id' projects_data.json) >> $GITHUB_ENV
{
echo "IN_TARGET_PROJ=$(jq '.data.repository.issue.projectItems.nodes[] | select(.project.number=='"$TARGET_PROJECT"') | .project != null' projects_data.json)"
echo "ITEM_ID=$(jq '.data.repository.issue.id' projects_data.json)"
} >> "$GITHUB_ENV"
- name: Set up label array
if: env.IN_TARGET_PROJ
env:
LABEL_IDS: ${{ env.LABEL_IDS }}
run: |
# shellcheck disable=SC2153 # we define the variable on the line above in 'read'
IFS=',' read -ra LABEL_IDs <<< "$LABEL_IDS"
for item in "${LABEL_IDs[@]}"; do
echo "Item: $item"
@@ -74,6 +78,7 @@ jobs:
GH_TOKEN: ${{ steps.generate_token.outputs.token }}
LABEL_IDS: ${{ env.LABEL_IDS }}
run: |
# shellcheck disable=SC2016 # we don't want the $s to be expanded
gh api graphql -f query='
mutation ($labelableId: ID!, $labelIds: [ID!]!) {
addLabelsToLabelable(
@@ -81,4 +86,4 @@ jobs:
) {
clientMutationId
}
}' -f labelableId=$ITEM_ID -f labelIds=$LABEL_IDS
}' -f labelableId="$ITEM_ID" -f labelIds="$LABEL_IDS"
+7
View File
@@ -9,8 +9,15 @@ on:
paths:
- "docs/sources/**"
permissions: {}
jobs:
deploy-pr-preview:
permissions:
contents: read # Clone repositories.
id-token: write # Fetch Vault secrets.
pull-requests: write # Create or update PR comments.
statuses: write # Update GitHub status check with deploy preview link.
if: "!github.event.pull_request.head.repo.fork"
uses: grafana/writers-toolkit/.github/workflows/deploy-preview.yml@main # zizmor: ignore[unpinned-uses]
with:
@@ -0,0 +1,81 @@
name: Deploy Storybook preview
on:
pull_request:
paths:
- 'packages/grafana-ui/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions: {}
jobs:
deploy-storybook-preview:
name: Deploy Storybook preview
runs-on: ubuntu-latest
# Don't run from forks for the moment. If we find this useful we can do the workflow_run dance
# to make it work for forks.
if: github.event.pull_request.head.repo.fork == false
permissions:
contents: read
id-token: write
env:
BUCKET_NAME: grafana-storybook-previews
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
persist-credentials: false
- name: Setup Node.js
uses: ./.github/actions/setup-node
- name: Install dependencies
env:
# If the PR isn't from a fork then don't use the slower yarn checks
YARN_ENABLE_HARDENED_MODE: ${{ github.event.pull_request.head.repo.fork == false && '1' || '0' }}
run: yarn install --immutable
- name: Build storybook
run: yarn storybook:build
# Create the GCS folder name for the preview. Creates a consistent name for all deploys for the PR.
# Matches format of `pr_<PR_NUMBER>_<SANITIZED_BRANCH>`.
# Where `SANITIZED_BRANCH` is the branch name with only alphanumeric and hyphens, limited to 30 characters.
- name: Create deploy name
id: create-deploy-name
env:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
# Convert branch name to only contain alphanumeric and hyphens
SANITIZED_BRANCH=$(echo "$BRANCH_NAME" | tr -cs "[:alnum:]-" "-" | sed "s/^-//;s/-$//")
# Check if SANITIZED_BRANCH is empty and fail if it is
if [ -z "$SANITIZED_BRANCH" ]; then
echo "Error: Branch name resulted in empty string after sanitization"
exit 1
fi
echo "deploy-name=pr_${PR_NUMBER}_${SANITIZED_BRANCH:0:30}" >> "$GITHUB_OUTPUT"
- name: Upload Storybook
uses: grafana/shared-workflows/actions/push-to-gcs@main
with:
environment: prod
bucket: ${{ env.BUCKET_NAME }}
bucket_path: ${{ steps.create-deploy-name.outputs.deploy-name }}
path: packages/grafana-ui/dist/storybook
service_account: github-gf-storybook-preview@grafanalabs-workload-identity.iam.gserviceaccount.com
parent: false
- name: Write summary
env:
DEPLOY_NAME: ${{ steps.create-deploy-name.outputs.deploy-name }}
run: |
echo "## Storybook preview deployed! 🚀" >> $GITHUB_STEP_SUMMARY
echo "Check it out at https://storage.googleapis.com/${BUCKET_NAME}/${DEPLOY_NAME}/index.html" >> $GITHUB_STEP_SUMMARY
@@ -12,6 +12,8 @@ on:
pull_request:
paths:
- 'packages/**'
- '.nvmrc'
- '.github/workflows/detect-breaking-changes-levitate.yml'
branches:
- 'main'
@@ -27,13 +29,14 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: './pr'
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: './pr/.nvmrc'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -77,14 +80,15 @@ jobs:
working-directory: './base'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: './base'
ref: ${{ github.event.pull_request.base.ref }}
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: './base/.nvmrc'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
@@ -128,10 +132,13 @@ jobs:
id-token: 'write'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version: 22.11.0
node-version-file: '.nvmrc'
- name: Get built packages from pr
uses: actions/download-artifact@v4
@@ -151,13 +158,15 @@ jobs:
- id: 'auth'
uses: 'google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f'
if: github.event.pull_request.head.repo.full_name == github.repository
with:
workload_identity_provider: ${{ secrets.WIF_PROVIDER }}
service_account: ${{ secrets.LEVITATE_SA }}
workload_identity_provider: projects/304398677251/locations/global/workloadIdentityPools/github/providers/github-provider
service_account: github-plugins-data-levitate@grafanalabs-workload-identity.iam.gserviceaccount.com
project_id: 'grafanalabs-global'
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a'
uses: 'google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db'
if: github.event.pull_request.head.repo.full_name == github.repository
with:
version: '>= 363.0.0'
project_id: 'grafanalabs-global'
@@ -168,11 +177,16 @@ jobs:
run: ./scripts/check-breaking-changes.sh
env:
FORCE_COLOR: 3
IS_FORK: ${{ github.event.pull_request.head.repo.full_name != github.repository }} # used in check-breaking-changes.sh and levitate-parse-json-report.js
- name: Persisting the check output
run: |
mkdir -p ./levitate
echo "{ \"exit_code\": ${{ steps.breaking-changes.outputs.is_breaking }}, \"message\": \"${{ steps.breaking-changes.outputs.message }}\", \"pr_number\": \"${{ github.event.pull_request.number }}\" }" > ./levitate/result.json
echo "{ \"exit_code\": ${IS_BREAKING}, \"message\": \"${MESSAGE}\", \"pr_number\": \"${PR_NUMBER}\" }" > ./levitate/result.json
env:
IS_BREAKING: ${{ steps.breaking-changes.outputs.is_breaking }}
MESSAGE: ${{ steps.breaking-changes.outputs.message }}
PR_NUMBER: ${{ github.event.pull_request.number }}
- name: Upload check output as artifact
uses: actions/upload-artifact@v4
@@ -188,16 +202,27 @@ jobs:
permissions:
contents: read
id-token: write
if: github.event.pull_request.head.repo.full_name == github.repository
steps:
- name: "Generate token"
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
- id: get-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@28361cdb22223e5f1e34358c86c20908e7248760 # get-vault-secrets-v1.1.0
with:
app_id: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_ID }}
private_key: ${{ secrets.GRAFANA_PR_AUTOMATION_APP_PEM }}
# Secrets placed in the ci/repo/grafana/grafana in vault
repo_secrets: |
GITHUB_APP_ID=grafana_pr_automation_app:app_id
GITHUB_APP_PRIVATE_KEY=grafana_pr_automation_app:app_pem
- uses: actions/checkout@v4
- name: Generate token
id: generate_token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app-id: ${{ env.GITHUB_APP_ID }}
private-key: ${{ env.GITHUB_APP_PRIVATE_KEY }}
- uses: actions/checkout@v5
with:
persist-credentials: false
- name: 'Download artifact'
uses: actions/download-artifact@v4
@@ -205,7 +230,7 @@ jobs:
name: levitate
- name: Parsing levitate result
uses: actions/github-script@v6
uses: actions/github-script@v7
id: levitate-run
with:
script: |
@@ -216,7 +241,7 @@ jobs:
# Check if label exists
- name: Check if "levitate breaking change" label exists
id: does-label-exist
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
with:
@@ -246,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 }}
@@ -263,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 }}
@@ -295,7 +320,7 @@ jobs:
"fields": [
{
"type": "mrkdwn",
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>"
"text": "*PR:* <${{ github.event.pull_request.html_url }}|#${{ github.event.pull_request.number }}>\n\nAuthor: ${{ github.event.pull_request.user.login }}"
},
{
"type": "mrkdwn",
@@ -309,7 +334,7 @@ jobs:
# Add the label
- name: Add "levitate breaking change" label
if: steps.levitate-run.outputs.exit_code == 1 && steps.does-label-exist.outputs.result == 0
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -325,7 +350,7 @@ jobs:
# Remove label (no more breaking changes)
- name: Remove "levitate breaking change" label
if: steps.levitate-run.outputs.exit_code == 0 && steps.does-label-exist.outputs.result == 1
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -343,7 +368,7 @@ jobs:
# Related issue: https://github.com/renovatebot/renovate/issues/1908
- name: Add "grafana/plugins-platform-frontend" as a reviewer
if: steps.levitate-run.outputs.exit_code == 1
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -360,7 +385,7 @@ jobs:
# Remove reviewers (no more breaking changes)
- name: Remove "grafana/plugins-platform-frontend" from the list of reviewers
if: steps.levitate-run.outputs.exit_code == 0
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PR_NUMBER: ${{ steps.levitate-run.outputs.pr_number }}
with:
@@ -376,9 +401,11 @@ jobs:
- name: Exit
run: |
if [ "${{ steps.levitate-run.outputs.exit_code }}" -ne 0 ]; then
if [ "${LV_EXIT_CODE}" -ne 0 ]; then
echo "Breaking changes detected. Please check the levitate report in your pull request. This workflow won't block merging."
fi
exit ${{ steps.levitate-run.outputs.exit_code }}
exit "${LV_EXIT_CODE}"
shell: bash
env:
LV_EXIT_CODE: ${{ steps.levitate-run.outputs.exit_code }}
@@ -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@v5
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"
}
}
]
}
+9 -2
View File
@@ -4,13 +4,20 @@ on:
branches: ["main"]
paths: ["docs/sources/**"]
workflow_dispatch:
permissions: {}
jobs:
vale:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
security-events: write
container:
image: grafana/vale:latest
image: grafana/vale:latest # zizmor: ignore[unpinned-images]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: grafana/writers-toolkit/vale-action@vale-action/v1 # zizmor: ignore[unpinned-uses]
@@ -1,47 +1,48 @@
name: 'Ephemeral instances'
name: "Ephemeral instances"
on:
issue_comment:
types: [created]
pull_request:
types: [closed]
jobs:
config:
runs-on: "ubuntu-latest"
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.EI_APP_ID != '' &&
secrets.EI_APP_PRIVATE_KEY != '' &&
secrets.EI_GCOM_HOST != '' &&
secrets.EI_GCOM_TOKEN != '' &&
secrets.EI_EPHEMERAL_INSTANCES_REGISTRY != '' &&
secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 != '' &&
secrets.EI_EPHEMERAL_ORG_ID != ''
) || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
handle-pull-request-event:
needs: config
if: needs.config.outputs.has-secrets &&
${{ github.event.issue.pull_request && (startsWith(github.event.comment.body, '/deploy-to-hg') || github.event.action == 'closed') }}
permissions: {}
jobs:
handle-ephemeral-instances:
if: ${{ github.repository_owner == 'grafana' && ((github.event.issue.pull_request && startsWith(github.event.comment.body, '/deploy-to-hg')) || github.event.action == 'closed') }}
runs-on:
labels: ubuntu-latest-8-cores
labels: ubuntu-x64-xlarge
continue-on-error: true
permissions:
# For commenting.
pull-requests: write
# No contents permission is needed because we will impersonate an app to create the PR instead.
id-token: write # required for vault access
steps:
- name: Get vault secrets
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in ci/repo/grafana/grafana/
repo_secrets: |
APP_ID=ephemeral-instances-bot:app-id
APP_PEM=ephemeral-instances-bot:app-private-key
GCOM_HOST=ephemeral-instances-bot:gcom-host
GCOM_TOKEN=ephemeral-instances-bot:gcom-token
REGISTRY=ephemeral-instances-bot:registry
GCP_SA_ACCOUNT_KEY_BASE64=ephemeral-instances-bot:sa-key
- name: Generate a GitHub app installation token
id: generate_token
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92 # v1.8.0
with:
app_id: ${{ secrets.EI_APP_ID }}
private_key: ${{ secrets.EI_APP_PRIVATE_KEY }}
app_id: ${{ env.APP_ID }}
private_key: ${{ env.APP_PEM }}
- name: Checkout ephemeral instances repository
uses: actions/checkout@v4
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
repository: grafana/ephemeral-grafana-instances-github-action
token: ${{ steps.generate_token.outputs.token }}
@@ -52,11 +53,11 @@ jobs:
- name: build and deploy ephemeral instance
uses: ./ephemeral
with:
github-token: ${{ steps.generate_token.outputs.token }}
gcom-host: ${{ secrets.EI_GCOM_HOST }}
gcom-token: ${{ secrets.EI_GCOM_TOKEN }}
registry: "${{ secrets.EI_EPHEMERAL_INSTANCES_REGISTRY }}"
gcp-service-account-key: "${{ secrets.EI_GCP_SERVICE_ACCOUNT_KEY_BASE64 }}"
ephemeral-org-id: "${{ secrets.EI_EPHEMERAL_ORG_ID }}"
github-token: ${{ steps.generate_token.outputs.token }}
gcom-host: ${{ env.GCOM_HOST }}
gcom-token: ${{ env.GCOM_TOKEN }}
registry: "${{ env.REGISTRY }}"
gcp-service-account-key: ${{ env.GCP_SA_ACCOUNT_KEY_BASE64 }}
ephemeral-org-id: ephemeral
oss-or-enterprise: oss
verbose: true
+10 -2
View File
@@ -7,16 +7,24 @@ on:
- 'pkg/services/featuremgmt/registry.go'
- 'docs/sources/setup-grafana/configure-grafana/feature-toggles/index.md'
permissions: {}
jobs:
test:
name: Feature toggles documentation is in sync with source
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
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
+91 -35
View File
@@ -9,44 +9,39 @@ on:
permissions: {}
jobs:
lint-frontend-verify-i18n:
name: Verify i18n
detect-changes:
name: Detect whether code changed
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
outputs:
changed: ${{ steps.detect-changes.outputs.frontend }}
prettier: ${{ steps.detect-changes.outputs.frontend == 'true' || steps.detect-changes.outputs.docs == 'true' }}
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
- run: |
extract_error_message='::error::Extraction failed. Make sure that you have no dynamic translation phrases, such as "t(`preferences.theme.{themeID}`, themeName)" and that no translation key is used twice. Search the output for '[warning]' to find the offending file.'
make i18n-extract || (echo "${extract_error_message}" && false)
- run: |
uncommited_error_message="::error::Translation extraction has not been committed. Please run 'make i18n-extract', commit the changes and push again."
file_diff=$(git diff --dirstat public/locales)
if [ -n "$file_diff" ]; then
echo $file_diff
echo "${uncommited_error_message}"
exit 1
fi
- uses: actions/checkout@v5
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/frontend-lint.yml
lint-frontend-prettier:
needs: detect-changes
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-prettier-enterprise` workflow will run instead
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.prettier == 'true'
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -56,15 +51,18 @@ jobs:
- run: yarn run prettier:check
- run: yarn run lint
lint-frontend-prettier-enterprise:
needs: detect-changes
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
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.prettier == 'true'
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -78,16 +76,19 @@ jobs:
- run: yarn run prettier:check
- run: yarn run lint
lint-frontend-typecheck:
needs: detect-changes
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-typecheck-enterprise` workflow will run instead
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork == true && needs.detect-changes.outputs.changed == 'true'
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -96,15 +97,18 @@ jobs:
- run: yarn install --immutable --check-cache
- run: yarn run typecheck
lint-frontend-typecheck-enterprise:
needs: detect-changes
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
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false && needs.detect-changes.outputs.changed == 'true'
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -116,18 +120,70 @@ jobs:
github-app-name: 'grafana-ci-bot'
- run: yarn install --immutable --check-cache
- run: yarn run typecheck
lint-frontend-betterer:
lint-frontend-api-clients:
permissions:
contents: read
id-token: write
name: Betterer
# 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
- uses: actions/checkout@v5
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
- run: yarn run betterer:ci
- 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@v5
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@v5
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.1 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.1 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
-9
View File
@@ -40,19 +40,10 @@ jobs:
main:
runs-on: ubuntu-latest
steps:
- name: "Get vault secrets"
id: vault-secrets
uses: grafana/shared-workflows/actions/get-vault-secrets@main
with:
# Secrets placed in the ci/repo/grafana/grafana/github_release path in Vault
repo_secrets: |
GRAFANA_MISC_STATS_API_KEY=github_release:GRAFANA_MISC_STATS_API_KEY
- name: Create GitHub release (manually invoked)
uses: grafana/grafana-github-actions-go/github-release@main # zizmor: ignore[unpinned-uses]
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: ${{ inputs.version }}
metrics_api_key: ${{ env.GRAFANA_MISC_STATS_API_KEY }}
latest: ${{ inputs.latest }}
dry_run: ${{ inputs.dry_run }}
+46 -4
View File
@@ -13,16 +13,58 @@ 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@v5
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
- uses: actions/checkout@v5
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@v5
with:
persist-credentials: false
- uses: actions/setup-go@v5.5.0
with:
go-version-file: ./go.mod
- run: make gen-go
- name: golangci-lint
uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd
with:

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