Commit Graph
62534 Commits
Author SHA1 Message Date
Jack WestbrookandKristian Bremberg bbfeb8d220 Feature: Introduce subresource integrity checks (SRI) for frontend assets (#100983)
* feat(featuremgmt): introduce feature toggle for enabling sri checks

* feat(frontend): use assetSriChecks feature toggle to inject integrity hash into script tags

* chore(webpack): align sri algorithms across dev and prod builds

* docs(featuremgmt): update assetSriChecks to pass CI

* docs(featuremgmt): fix more spelling complaints with assetSriChecks

* Add crossorigin attribute

* chore(webpack): add subresource-integrity plugin

* build(webpack): wrap webpack jsonp loader integrity checks in feature flag checks

* revert(index.html): remove crossorigin attribute if assertSriChecks is disabled

---------

Co-authored-by: Kristian Bremberg <kristian.bremberg@grafana.com>
2025-03-04 11:56:35 +01:00
Sergej-Vlasov bf9a34f2ca TimePicker: Ability to manually specify quick ranges (#101465)
* add quickRanges to scene model transforms

* add test for quickRanges transformations

* fix lint
2025-03-04 10:45:24 +00:00
Alexander Akhmetov 60827fe499 Alerting: Return 403 if no datasource access or quota has been exceeded (#101522) 2025-03-04 10:04:47 +01:00
Jack Westbrook 859c12bbb4 Grafana UI: Expose unstable entrypoint (#97080)
* feat(grafana-ui): build unstable entrypoint for experimental components

* feat(plugins): expose grafana/ui/unstable

* build(grafana-ui): add rollup plugin to create alias package.json for unstable entrypoint

* build(packages): rewrite prepare npm script to generate alias packagejson files

* chore(packages): use relative paths in publishConfig for exports generation

* chore(frontend): move npmcli/package-json package to root package.json

* revert(grafana-ui): remove rollup plugin for generating alias package.json files

* chore(grafana-ui): clean up unstable directory postpack to prevent yarn lock issues

* build(packages): fix scope for pkgName usage

* feat(packages): create separate cjs and esm builds that validate with arethetypeswrong cli

* chore(yarn): refresh lock file

* fix(packages): make sure alias package.jsons point to existing files
2025-03-04 09:55:41 +01:00
Stephanie Hingtgen 503bc2ba66 K8s: Indexing: Fix v2 (#100683) 2025-03-04 08:04:53 +02:00
Ryan McKinley c1b48cc488 Dashboards: Add apiVersion to dashboard table (#100845) 2025-03-04 07:47:45 +03:00
grafana-pr-automation[bot]andgithub-actions[bot] 8a341ebcce I18n: Download translations from Crowdin (#101540)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-04 02:31:05 +02:00
alerting-team[bot]andyuri-tceretian d9538fd5dc Alerting: Update alerting module to bb85a58ec8975d91b49d746dbd11d312f0485ecc (#101537)
[create-pull-request] automated change

Co-authored-by: yuri-tceretian <25988953+yuri-tceretian@users.noreply.github.com>
2025-03-03 18:10:15 -05:00
Sarah Zinger ed3f96ce28 Fix misleading log line (#101532) 2025-03-03 15:52:47 -05:00
Charandas cedb4ef9c1 fix: testutil blocking PR checks from passing (#101527) 2025-03-03 10:56:30 -08:00
Jev Forsberg dc61bf0855 Chore: Migrate pr-lint-backend from Drone to GHAs (#101482)
* baldm0mma/ create backend-code-checks workflow

* baldm0mma/ update to validate backend configs

* baldm0mma/ rem unused dir

* baldm0mma/ update codeowners

* baldm0mma/ update naming

* baldm0mma/ update case

* baldm0mma/ update workflow name

* baldm0mma/ rem action and run the commands directly

* baldm0mma/ update codeownders

* baldm0mma/ update codeowners for workflow

* baldm0mma/ update workflow name in codeowners
2025-03-03 11:29:11 -07:00
Ieva 5f6b00a72f Revert "Authz: Removes setting viewers_can_edit" (#101528)
Revert "Authz: Removes setting `viewers_can_edit` (#101265)"

This reverts commit 4ce41acade.
2025-03-03 20:26:55 +02:00
Charandas 22d39f585d fix: don't double set aggregator certs (#101444) 2025-03-03 09:50:11 -08:00
Ivana Huckova 66279081c6 Elasticsearch: Invalid response JSON parsing error should be downstream (#101506)
* Elasticsearch: Invalid response JSON parsing error should be downstream

* Add test

* Update test
2025-03-03 18:14:43 +01:00
Alexander Akhmetov c7c68322b1 Alerting: Allow specifying a folder for Prometheus rule import (#101406)
What is this feature?

Allows the creation of alert rules with mimirtool in a specified folder.

Why do we need this feature?

Currently, the APIs for mimirtool create namespaces and rule groups in the root folder without the ability to set a custom folder. For example, it could be a special "Imported" folder, etc.

This PR makes it possible with a special header: mimirtool ... --extra-headers="X-Grafana-Alerting-Folder-UID=123". If it's not present, the root folder is used, otherwise, the specified one is used.

mimirtool does not support nested folder structures, while Grafana allows folder nesting. To keep compatibility, we return only direct child folders of the working folder (as namespaces) with rule groups and rules that are directly in these child folders as if there are no nested folders.

For example, given this folder structure in Grafana:

```
	grafana/
	├── production/
	│   ├── service1/
	│   │   └── alerts/
	│   └── service2/
	└── testing/
	    └── service3/
```

If the working folder is "grafana":

    Only namespaces "production" and "testing" are returned
    Only rule groups directly within these folders are included

If the working folder is "production":
   -  Only namespaces "service1" and "service2" are returned
    Only rule groups directly within these folders are included
2025-03-03 17:59:01 +01:00
linoman b7a0aeeb0d SCIM: Disable auto assign organization if the user has been provisioned (#101307)
* Add isProvisioned field to model

* Add new isProvisioned column to migration

* Disable auto assignment to organization if the user is provisioned

* add annotation to user model

* add annotation to user models

* Remove IsProvisioned field from Identity

* Move new field assignenment and add default value

* Update annotations for user query results

* Remove isProvisioned from identity

* Add new column to test

* Resolve user from identity at SyncOrgHook
2025-03-03 17:51:23 +01:00
Serge ZaitsevandPeter Štibraný 165bca6417 Chore: Add initial/experimental xorm spanner driver (#101398)
* make it build and start

* run some migrations

* add build tags, remove log

* remove unused code

* revert go.mod changes

* move initialisation into dialect file

* update workspace

* update workspace once again

* clean up dependencies

* further cleanup

* Address some review feedback.

* Fix go.sum.

---------

Co-authored-by: Peter Štibraný <pstibrany@gmail.com>
2025-03-03 17:02:10 +01:00
Tobias Skarhed 4bab25054f FrontendMonitoring: Track web vitals attribution (#101520) 2025-03-03 16:17:57 +01:00
Gilles De Mey 2430e21ffa Alerting: Fix no search results loop for new list UI (#101513) 2025-03-03 17:14:34 +02:00
Haris Rozajac 41ab914da2 Dashboard: Fix the unintentional time range and variables updates on saving (#101475)
pass the changedModel
2025-03-03 08:07:02 -07:00
Matheus Macabu b110754c9a Hackaton: Add more unit tests, take 2 (#101473)
* login/social/socialimpl: add assertions for usage stats, support bundle and oauthinfo methods

* accesscontrol/acimpl: add tests for GetRoleByName

* anonymous/sortopts: add tests for Sorter

* cloudmigration/gmsclient: add basic test cases for all methods

* shorturls/shorturlimpl: add more edge test cases

* tag/tagimpl: add test to cover duplicate tag kv and nil pairs

* updatechecker: add test cases for module
2025-03-03 13:12:13 +01:00
dependabot[bot]andgithub-actions[bot] d1b20c652d Bump github.com/go-jose/go-jose/v3 from 3.0.3 to 3.0.4 (#101385)
* Bump github.com/go-jose/go-jose/v3 from 3.0.3 to 3.0.4

Bumps [github.com/go-jose/go-jose/v3](https://github.com/go-jose/go-jose) from 3.0.3 to 3.0.4.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Changelog](https://github.com/go-jose/go-jose/blob/main/CHANGELOG.md)
- [Commits](https://github.com/go-jose/go-jose/compare/v3.0.3...v3.0.4)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v3
  dependency-type: direct:production
...

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

* update workspace

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-03 12:11:08 +01:00
Sergej-Vlasov d3b550c230 Dashboards: Redesign edit pane of dashboard and viz panels (#101437)
* adjust options pane category component and shared logic

* redesign dashboard edit pane

* clean up

* redesign viz panel edit panes

* address comments

* updated i18n

* clean up

* address comments
2025-03-03 10:49:32 +00:00
Oscar Kilhed 070d4b2ee4 SchemaV2: Accept rows with no panel property (#101503)
accept rows with no panel property
2025-03-03 11:19:17 +01:00
Gilles De Mey 28a28a686d Alerting: Fix crash when invalid matcher is used in silence query params (#101500) 2025-03-03 11:19:01 +02:00
Filip "Ret2Me" PoplewskiandMihaly Gyongyosi 561156c4da Auth: Add support for the TlsSkipVerify parameter to JWT Auth (#91514)
* feat(auth/JWTAuth): add support for the TlsSkipVerify parameter

* feat(auth/JWTAuth): add param to default.ini and sample.ini

---------

Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com>
2025-03-03 11:18:14 +02:00
Stephanie Hingtgen 2e7c28ccbc Dashboard history: rename rudderstack variable (#101182) 2025-03-02 21:45:24 -07:00
grafana-pr-automation[bot]andgithub-actions[bot] ed8bd902df I18n: Download translations from Crowdin (#101486)
New Crowdin translations by GitHub Action

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-02 02:31:55 +02:00
Ryan McKinley 0764ecb98d K8s/DualWriter: Use dualwriter package for all dual writers (#101393) 2025-03-01 21:26:14 +03:00
Oscar KilhedandLeon Sorokin 2cc6f39c5e Transformations: Fix runtime handling of old format in Add field from calc / binary (#101455)
Co-authored-by: Leon Sorokin <leeoniya@gmail.com>
2025-02-28 17:38:05 -06:00
Leon SorokinandDominik Prokop e8b035a5f7 Transformations: Fix variable interpolation when Scenes is disabled (#101438)
Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2025-02-28 16:25:43 -06:00
Jev Forsberg 6abf0434df Chore: Migrate backend testing from drone to gha (#100765)
* baldm0mma/ add gha workflow

* baldm0mma/ add codeowners

* baldm0mma/ update health command

* baldm0mma/ update aliases for services

* baldm0mma/ rewrite migration attempt

* baldm0mma/ fix package names for ubuntu

* baldm0mma/ add authentication

* baldm0mma/ update auth

* baldm0mma/ add debugs

* baldm0mma/ add continue on error

* baldm0mma/ simplyfy ent fork logic

* baldm0mma/ debug fork status

* baldm0mma/ add debug workflow for enterprise access

* chore: add workflow_dispatch trigger to backend test workflow

* baldm0mma/ debug ent run

* baldm0mma/ add more robust debugging info

* baldm0mma/ use old drone ci app for testing

* baldm0mma/ update app name

* baldm0mma/ update workflow creds

* baldm0mma/ rename

* baldm0mma/ update codeownders

* baldm0mma/ update paths to ignore paths for docs and markdown files

* baldm0mma/ create 'Setup Grafana Enterprise' action and remove from current workflow

* baldm0mma/ fail at git clone

* baldm0mma/ absract away "Run backend tests" and "Run backend integration tests" into their own actions

* baldm0mma/ update directory strcuture to adhere to GHAs best practices

* baldm0mma/ remove optional configs

* baldm0mma/ update codeowners

* baldm0mma/ update gh app name

* baldm0mma/ remove circ dep

* baldm0mma/ uncomment out enterprise setup for test

* baldm0mma/ update valut url

* baldm0mma/ use vault instance rather than url

* baldm0mma/ debug

* baldm0mma/ Removed the multiline string format

* baldm0mma/ add installation key

* baldm0mma/ update path

* baldm0mma/ debug vault access

* baldm0mma/ add ent

* baldm0mma/ remove debugging

* baldm0mma/ update paths

* baldm0mma/ update codeowners

* baldm0mma/ update paths and codeowners

* baldm0mma/ add continue-on-error to assure the workflow isn't blocking

* baldm0mma/ simplify test action execution

* baldm0mma/ remove wire install step

* baldm0mma/ add conditions for coverage output

* baldm0mma/ add conditions for coverage output for integration test action

* baldm0mma/ add report converage file

* baldm0mma/ remove uneeded action

* baldm0mma/ update codeowners

* baldm0mma/ push small change to go file and add log

* baldm0mma/ update trigger conditions

* baldm0mma/ update converage conditions

* baldm0mma/ update Run backend integration tests with correct action

* baldm0mma/ test 2

* baldm0mma/ update with -coverpkg flag

* baldm0mma/ remove backend-coverage as it is now redundant

* baldm0mma/ update codeowners

* baldm0mma/ update test file

* baldm0mma/ update coverage logic
2025-02-28 14:53:17 -07:00
Matthew Jacobson 2466685a41 Alerting: Improve template testing by trying non-root scopes (#101471)
Expand template testing to try additional scopes if the root scope fails.
This mitigates errors for definitions like pagerduty.default.instances,
which require the .Alerts scope. Added support for .Alerts and .Alert
scopes.
2025-02-28 20:27:27 +02:00
Yuri Tseretyan 10f17a296a Alerting: Update Github Action to update alerting module to support version branches (#101472) 2025-02-28 12:06:33 -05:00
Yuri Tseretyan 1d54850a68 Alerting: Get alert rule versions by GUID (#101469)
* get alert rule versions by GUID

* protect guid field from accidental update
2025-02-28 11:27:46 -05:00
Drew Slobodnjak 87a9188bb4 Geomap: Fix Fit to Data for Route Layer (#101391)
* Geomap: Fix Fit to Data for Route Layer

* Update gdev panel tests to cover fit to data

* Add layer value to layer select value
2025-02-28 08:13:20 -08:00
Todd Treece 620d213856 K8s: Set priority for aggregated discovery (#101427) 2025-02-28 17:39:41 +02:00
Yuri Tseretyan 879b121136 Alerting: Add GUID to alert rule tables (#101321)
* add column guid to alert rule table and rule_guid to rule version table
+ populate the new field with UUID
* update storage and domain models
* patch GUID
* ignore GUID in fingerprint tests
2025-02-28 09:47:25 -05:00
Matheus Macabu 9eaaf95701 Hackaton 12: Add some unit tests, take 1 (#101457)
* tsdb/graphite: add happy path test for QueryData

* infra/httpclient/httpclientprovider: add tests for RedirectLimitMiddleware
2025-02-28 16:11:11 +02:00
renovate[bot] fc6f841942 Update dependency @formatjs/intl-durationformat to v0.7.3 (#101456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 13:03:26 +00:00
xavi ec29f6cb60 Add OpenAPI annotations for query params of getOrgUsersForCurrentOrg API route (#101419) 2025-02-28 13:41:58 +01:00
Will AssisandJean-Philippe Quéméner f5e5824bab fix (unified-storage): stop registering unified storage metrics in global state (#101322)
* move prometheus.register for unified storage metrics into metrics.go and do most of the plumbing to get it to work

* convert StorageApiMetrics to pointer and check for nil before using it

* rename type and variables to something more sensible

---------

Co-authored-by: Jean-Philippe Quéméner <jeanphilippe.quemener@grafana.com>
2025-02-28 07:39:39 -05:00
renovate[bot] 7fb0d1b3e6 Update dependency @floating-ui/react to v0.27.5 (#101451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 12:09:33 +00:00
Sonia AguilarandTom Ratcliffe e73b78a134 Alerting: Rule history restore feature (#100609)
* Restore feature: wip

* Refactor modal to separate component

* fix restoring from the drawer

* rename components folder to version-history, and move version-utils.file there

* skip fetching rule when uid is empty, add returnTo when restoring manually

* Fix drawer fetching infinitely

* Move drawer to separate file

* add tracking for restore success and restore failure

* Fix name of error interaction

* Add `compare` to each row in version history

* Add warning when manually restoring and trigger form validation

* Fix initial validation for contact point selector

* Wait for successful fetch before potential error

* Add disabled state when loading

* Fix loading check for contact point selector

* Fix typo

* Move hook to separate file and move other method into utils

* Update imports and remove manual state management

* Fix infinite render

* Remove onError from dep array

* Use separate flag for showing manual restore alert

* Rename to createdAt

* add and use ability to restore to check if retore is allowed

* Fix test and add isGrafanaManagedAlertRule to the ability check

* Address PR feedback

* Change to isManualRestore for trigger check

* udpate AlertRuleAction.Restore ability

* make the alertingRuleVersionHistoryRestore ff , enabled by default

* fix ff

---------

Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
2025-02-28 13:14:23 +02:00
Alexander Akhmetov ae2074ef55 Alerting: Fix updating Prometheus definition in the metadata (#101440)
Initially, Metadata had only the EditorSettings, and HasMetadata was used to understand if the incoming update request had metadata in the body because it could be omitted if it was empty. For example, when the rule is updated via the provisioning API or has only false values. If it was in the request, we used that; if not, we used the metadata from the existing rule from the database. If the rule was updated via the AlertRuleService, we didn't change Metadata at all if the rule already existed.

But now, Metadata also has the Prometheus rule definition, and we always need to update it with the new version of the AlertRuleService when the rule exists in the DB and has the same UID. HasMetadata is renamed to HasEditorSettings to keep the old behaviour only for EditorSettings.

Now, the provisioning API and the conversion API will overwrite everything except EditorSettings with the new data.
2025-02-28 13:11:49 +02:00
Victor Marin c6c5f44eeb Remove menuShouldBlockScroll react-select flag (#101450)
revert 100950
2025-02-28 12:15:25 +02:00
renovate[bot] 520f46cb6d Update babel monorepo to v7.26.9 (#101447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 09:52:42 +00:00
Karl Persson d6b6a9da7b FolderAPI: Use different authorizer for multi-tenant api (#101372)
Use different authorizers depening on if we are running multi-tenant or single-tenant
2025-02-28 10:10:32 +01:00
Ryan McKinley 5652e0b835 K8s/Dashboard/SQL: Support ascending order query (#101363) 2025-02-28 11:34:09 +03:00
renovate[bot] d5ace043d6 Update Storybook updates (#100502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 08:41:02 +01:00