Commit Graph
58111 Commits
Author SHA1 Message Date
Roberto Jiménez Sánchez b2d9b3abe6 Remote provisioning: use client discovery for sync job (#102885)
* Use client discovery for folders and dashboards synchronization

* Remove unused dashboards client

* Add folders import again
2025-03-27 11:07:06 +01:00
Eric Leijonmarck e216c2f29d Anonymous: Enforce org role Viewer setting (#102070)
* Anon: Remove org role setting

* remove from ini

* remove setting from documentation
2025-03-27 09:10:30 +00:00
colin-stuart 9ca1d8bca7 Tests: Add delete user mock field to fake auth info service (#102947) 2025-03-27 09:45:31 +01:00
Jack Westbrook 6822805c32 Grafana Runtime: Use package.json exports for internal code (#102100)
* refactor(frontend): update runtime import paths for grafana/runtime/src -> grafana/runtime

* feat(runtime): introduce internal api entrypoint and exports property

* refactor(frontend): update runtime imports to use internal entrypoint

* chore(betterer): update results file

* refactor(bookmarks): update runtime/unstable import

* chore(betterer): update results file

* test(frontend): fix failing tests due to mocking nested runtime imports

* test(datasourcesrv): fix failing tests due to mocks

* chore(alerting): clean up redundant import

* fix(packages): fix default require export pointing to types declaration file

* docs(packages): update readme related to exports

* chore(internationalization): fix import paths

* chore(betterer): update results file
2025-03-27 08:59:57 +01:00
Ihor Yeromin f005613db7 Table: Add inspect cell (#102927)
feat(table-ng): inspect cell
2025-03-27 07:06:32 +01:00
grafana-pr-automation[bot]andgithub-actions[bot] 87cb440a9a I18n: Download translations from Crowdin (#102953)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-27 02:30:36 +02:00
Haris Rozajac 960c13c1e5 K8S Dashboards: Prevent duplicate dashboards when updating an existing dashboard (#102835)
* use metadata for k8s v1

* handle version and uid update in the api layer

* add test

* cleanup
2025-03-26 16:54:55 -06:00
Christopher Moyer e5ff56ae7b docs/adds shared shortcode (#102946)
* adds shared shortcode

* makes prettier
2025-03-26 16:58:47 -05:00
Stephanie Hingtgen 0087d7bd58 Unistore: Skip label for getting full path (#102928) 2025-03-26 15:50:53 -05:00
Johnny Kartheiser 558773ed7f docs: add note about alert migration (#102741)
* docs: add note about alert migration

added note about alert migration in 11.6.0.

* docs: add note about alert migration

adding documentation about the migrations to the performance limitation docs

* title edit

<-- vale = NO -->
2025-03-26 15:39:32 -05:00
Collin Fingar 4539e007bb Combobox: Fix Group Label Styling - Option Groups + Top Border (#102749)
* Combobox: Fix Group Label Styling

* unified piece of logic with existing code

* Update: Sort ungrouped options based on occurence / docs
2025-03-26 15:43:36 -04:00
alerting-team[bot]andYuri Tseretyan 6df99a6224 Alerting: Update alerting module to 58ba6c617ff05eb1d6f65c59d369a6a16923dff6 (#102812)
* remove feature flag alertingAlertmanagerExtraDedupStage
* use most recent version of fork of alertmanager

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-26 15:15:10 -04:00
3d1497b56a Schema V2: Replace resourceVersion usage with generation (#100080)
* Schema V2: Replace resourceVersion usage with generation

* revert auto generated files

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: Haris Rozajac <haris.rozajac12@gmail.com>
2025-03-26 12:47:24 -06:00
William Wernert 88d23fe5be Alerting: Remove transitional notifications API endpoints (#102713)
* Remove transitional notifications API endpoints

* Fix openapi spec

* Fix path test

* Remove API tests related to removed endpoints
2025-03-26 12:26:50 -04:00
Oscar Kilhed 44c471d10c Dashboards: Limit panel title length (#102911)
Limit panel title length
2025-03-26 17:03:10 +01:00
Alexa V 80e58efd46 Dashboard - Schema V2 Stateless variables (ds ref independent) (#102571)
* Create basic logic for stateless variables

* Refactor function to get DS from queries and variables

* Simplify code, remove unnecessary wrappers

* Fix typo

* improve naming

* Add unit test for variables

* Fix tests

* Add extra logic to keep backwards compatibility, variables can be used without dashboard scene

* Adjust logic for variables ds

* Refactor code, pass dsReferenceMap
2025-03-26 09:59:34 -06:00
Ashley Harrison 9146ac2de1 Chore: Fix some links in our api generation docs (#102907)
fix some links in our api generation docs
2025-03-26 17:47:48 +02:00
Isabel Matwawana 383e38d87b Docs: histogram visualization refactor (#102832)
* Added Config options heading and bumped other heading levels

* Restructured Histogram options and fixed tooltip options level

* Created tooltip 3 shared file and updated tooltip 1 file

* Replaced shared file in 3 visualizations

* Wording fix

* Fixed wording
2025-03-26 11:37:33 -04:00
Artur Wierzbicki 0be91d9771 Docs: add orgId to folder/dashboard search api docs (#102898) 2025-03-26 10:15:05 -05:00
Alexander Zobnin 63a2ce7214 Zanzana: Support subresources for users and service accounts (#102874)
* Zanzana: Support subresources for users and service accounts

* rename relationsFolder

* fix linter error
2025-03-26 16:07:01 +01:00
Mustafa Sencer Özcan a4e8bd16de fix: add index for resource history get with trash on (#102894) 2025-03-26 15:52:13 +01:00
Leonor Oliveira 51bbfa2d08 [Search] Fix CodeQL warnings (#101364)
* Fix CodeQL warnings

* Also validate if path is a file above the safe dir

* Lint

* [REVIEW] reduce possibility of exploits

* Comment

* Remove test scenario
2025-03-26 15:38:58 +01:00
Dan SnyderandPiotr Jamróz 3264067e63 FlameGraphPanel: Add units to standard options (#89815) (#102720)
* FlameGraph: Added units standard option (#89815)

* FlameGraph: Added decimals, and cleaned up module plugin configuration

* Added missing colon

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>

---------

Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com>
2025-03-26 16:16:31 +02:00
Beverly Buchanan d29d8d1c7c Docs: Update service account (#102502)
update content from support request
2025-03-26 10:06:44 -04:00
Mariell Hoversholm f7b9f1ce69 Unified Storage: Return an already exists error (#102857)
* Unified Storage: Return an already exists error

When inserting a resource that already exists (i.e. race condition), we can safely catch UNIQUE constraint violations
and transform them into a `k8s.io/apimachinery/pkg/api/errors` error that stands the test of `errors.IsAlreadyExists`.

* feat: clarify existing conflict error

* chore: make update-workspace

* feat: make new package for backend error

* fix: assign dependency owner

* feat: use dialect for checking error type

* chore: go generate

* revert: to 5af369166d
2025-03-26 14:44:44 +01:00
Yuri Tseretyan 9f7df8b788 Adds alerting-team[bot] to exclude list for pr-external label (#102564) 2025-03-26 09:29:52 -04:00
Denis Vodopianov 845e540d50 Fix: Fixing typo in Dockerfile preventing successful build of the docker image (#102875) 2025-03-26 14:06:16 +01:00
Torkel Ödegaard 0240eb79b9 Dashboard: Fixes issue switching layouts (#102884) 2025-03-26 13:56:30 +01:00
Karl Persson c236a22284 Authz: Include context in logs when using cache (#102810)
Include context in logs when using cache
2025-03-26 13:55:24 +01:00
Sam Jewell 08bc37cfa2 SQL Expressions: Bump go-mysql-server version (#102866)
To receive this bug-fix:

- https://github.com/dolthub/go-mysql-server/pull/2853

Which merged to main on Feb 17th 2025

I picked a commit on `main` from March 19th 2025:

```console
go get github.com/dolthub/go-mysql-server@8c915e51131f1e867ad873f8e827abf858d65dce/testdata
```

Then
```
make run
```
2025-03-26 12:50:20 +00:00
Oscar Kilhed e95cd04b25 Dynamic dashboards: Add missing row props to schema (#102859)
* Add missing row props to schema

* Fix test, add tests

* Fix renaming that was done by auto refactoring
2025-03-26 14:49:28 +02:00
Ashley Harrison 0f0519eae5 Grafana UI: Add columnGap + rowGap to Stack/Grid (#102883)
add columnGap/rowGap to Stack/Grid
2025-03-26 12:46:24 +00:00
Roberto Jiménez Sánchez eff2da96d0 Remote Provisioning: Fix empty folder synchronization (#102789)
* Add behavior for hidden

* Rename to IsFilePathSupported

* Modify sync

* Revert renaming

* Fix the tests

* Add more tests

* Maintain empty folders until next full pulling

* Fix wording

* Consider the file as ignored

* Handle folder creation in sync

* Record folder creation / update

* Fix in manual test

* Ensure / slash for folders

* Refactor the tests

* Keep safe path

* Fix some cases

* Remove log lines
2025-03-26 13:39:22 +01:00
Alexander Akhmetov f49a88ab72 Alerting: Add MissingSeriesEvalsToResolve to the APIs (#102150)
What is this feature?

A follow-up for #101184, adds AlertRule.MissingSeriesEvalsToResolve to the APIs.

missing_series_evals_to_resolve must be specified too and it must be > 0.

POST /api/ruler/grafana/api/v1/rules/{folderUID} works in the following way:

    If missing_series_evals_to_resolve is not sent or null, the rule keeps its existing value
    If missing_series_evals_to_resolve > 0: updates to that value
    If missing_series_evals_to_resolve = 0: resets to default (nil).
    AlertRule.MissingSeriesEvalsToResolve can't be 0, so I used it to reset

In the Provisioning API, the value is just set if present and > 0. Otherwise it's reset:

PUT to /api/v1/provisioning/alert-rules/{UID}:

    If missing_series_evals_to_resolve is nil, it's reset to the default value
    If missing_series_evals_to_resolve > 0, it's updated
2025-03-26 13:34:53 +01:00
Torkel Ödegaard f2fc1d8575 Dashboard: Add unconfigured panel state to new panels (#102719)
* Update

* Update

* Update new panel title

* Update
2025-03-26 13:34:37 +01:00
Ieva ff6039567b RBAC: Return 404 instead of 403 if a dashboard cannot be found (#102815)
return 404 instead of 403 if a dashboard cannot be found
2025-03-26 12:26:14 +00:00
Peter Štibraný fe1f5bc72b ssosettings: Don't update primary key in sso_setting table. (#102878)
Don't update primary key in sso_setting table.
2025-03-26 13:06:29 +01:00
beejeebus 709723927f Assign errorsource to InfluxDB Flux http errors (#102823)
InfluxDB Flux queries can return a http.Error type that we can use to
assign errorsource to.

This PR checks for that type of error, and uses our errorsource
machinery to assign an errorsource.

This is part of https://github.com/grafana/data-sources/issues/377
2025-03-26 08:00:06 -04:00
Jean-Philippe Quéméner cc8b40585b feat(unified-storage): add traces for all the backend sub-paths (#102876) 2025-03-26 12:50:29 +01:00
b63b4596a0 New Logs Panel: Log line tokenization and syntax highlighting (#101401)
* Logs: preprocess and highlight with Prism

* Processing: highlight logs on demand

* LogList: reset sizes when wrap changes

* Extend base grammar to support numbers, dates, strings, and fields

* Refactor grammar

* LogList: fix size recalculation after logs update

* LogLine: add ansi support

* Processing: Use raw instead of entry

* Capitalize level

* Remove colors from timestamps

* added highlight colors

* Fix oopsies

* LogLine: Remove repeated css attribute

* Log grammar: update log token string

* Formatting

* LogLine: fix underflow detection

* Grammar: fine tune, add durations

* LogLine: change rgba colors to theme colors

* Update tests

* Grammar: add uids

* LogLine: dont render empty logLevel when logs are wrapped

* Virtualization: fix calculation when level is unknown

* Remove console log

* Chore: fix log line message

* LogLine: remove opacity change on hover

* LogLine: tweak colors and highlight urls

* Tweak colors, remove numbers

* Remove unnecessary selector

* Fix imports

* Chore: move dimensions code to virtualization

* processing: add unit tests

* Revert change

* Grammar: add unit tests

* Remove stale assertion

* LogLine: define critical color

* Fix alpha dependency

---------

Co-authored-by: Joan <zizzpudding@gmail.com>
Co-authored-by: Joan Wortman <joanwortman@Joans-MacBook-Air-2.local>
2025-03-26 12:48:26 +01:00
Torkel Ödegaard 648e68387e Dashboard: Edit pane UI updates (#102663)
* First pass

* Update

* Outline tweaks

* Update

* Updates

* Minor fixes

* fix

* Fixes

* Fixes

* Collapse add element pane when selecting
2025-03-26 12:26:55 +01:00
Torkel Ödegaard 91baf78071 AutoGrid: Fixes issue with deserialize (#102864)
* ResponsiveGrid: Fixes issue with deserialize

* fix test
2025-03-26 11:56:46 +01:00
Hugo Häggmark 13ceec112e Plugins: fix for unstable/internal paths (#102854)
* Plugins: fix for unstable/internal paths

* Chore: fix missing path in CODEOWNERS

* Chore: fix missing path in CODEOWNERS

* Trigger build
2025-03-26 11:52:34 +01:00
Alexander Akhmetov f7aa17f2e4 Alerting: Add default values to AlertRule.Data queries in Prometheus conversion (#102843)
What is this feature?

Prometheus conversion: ensures that AlertRule.Data queries always have default parameters set (intervalMs, maxDataPoints). Without this, updates of the same rule can cause version increments.

Why do we need this feature?

Currently, when converting Prometheus rules to Grafana alerts, some default parameters are not explicitly set in the query model. This creates a problem during rule updates:

When a user updates a rule that hasn't changed, we still detect differences in the AlertQuery.Model because the newly converted rules are missing the default fields, such as intervalMs and maxDataPoints. This causes unnecessary version increments of alert rules.
2025-03-26 11:46:49 +01:00
Piotr JamrózandCopilot 1a0478cd76 TraceView: Render all links in span details (#101881)
* Render all links in span details

* Fix empty links case

* Update betterer results

* Update devenv and add docs

* Update public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx

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

* Update public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx

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

* Fix e2e test

* Remove .only

* Post merge updates

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-03-26 11:39:45 +01:00
Hugo Kiyodi Oshiro ea2a9ee395 Plugins: Remove sort by options from plugins catalog (#102862) 2025-03-26 11:28:38 +01:00
Peter Štibraný d0dbd1d156 spanner: Fix star migration that fills NULL dashboard_uid and org_id fields from dashboard table. (#102768) 2025-03-26 11:15:00 +01:00
Peter Štibraný 0226d710a1 spanner: Store JSONB into string column. (#102731) 2025-03-26 10:58:06 +01:00
Peter Štibraný 5b5f433a26 spanner: Disable running alerting integration tests when using spanner. (#102730)
* Disable running alerting integration tests when using spanner.

* Disable tests for templategroup.
2025-03-26 10:57:55 +01:00
Alexander Akhmetov c54da8f955 Alerting: Make $value return the query value in case when a single datasource is used (#102301)
What is this feature?

This PR changes the behavior of the $value and .Value variables in alerting templating to be more compatible with Prometheus templating. When a single datasource is used in the alerting rule, these variables will now return the numeric value from the query instead of the evaluation string.

Why do we need this feature?

It makes Grafana templating more compatible with Prometheus templates. In Prometheus, $value returns the numeric value of the query, but in Grafana it's the evaluation string: [ var='A' labels={instance=instance1} value=81.234 ]. This is because in Grafana multiple datasources can be used in the alert rule, and it's not always possible to get a single value.

This change makes Grafana's behavior consistent with Prometheus when a single datasource is used, and in case when multiple datasources are used in the query, it keeps the old behaviour.

Both $value and .Value are not recommended to use (documentation), and it's better to use .Values instead.
2025-03-26 10:31:38 +01:00