Commit Graph

15434 Commits

Author SHA1 Message Date
Alexander Akhmetov 0fa2dbdcdc Alerting: Generate deterministic UID for folders created for Prometheus rule conversion (#101760) 2025-03-07 12:09:39 +01:00
Misi d3b3186713 Auth: Make ssoSettingsSAML GA and enabled by default (#101766)
Make ssoSettingsSAML GA and enabled by default
2025-03-07 12:01:18 +01:00
Steve Simpson 872fbf0208 Alerting: Implement arbitrary data source remote writer. (#101735)
* Alerting: Implement arbitrary data source remote writer.

Recording rules currently remote write to the endpoint speficied in the
configuration file, but we want to change this so that it can be specified
on a per-rule basis. This change implements the updated RemoteWriter
interface, and dispatches writes to the correct data source.

Notes about the implementation:
- There is a defaulting behaviour, because we will need to handle situations
  when upgrading from older Grafana versions, where recording rules do not a
  data source target specified.
- In order to avoid re-creating the remote write clients for every request,
  a cache is used. The entries have a TTL of 30 seconds at which point they
  are recreated; this is the delay for picking up new data source settings.

Known limitations:
- There is no per data source configuration for the remote write path suffix.
- Not all data source settings will be used, but basic auth and TLS will be.
- There is no RBAC. This will be a follow up feature.

* Lint
2025-03-07 10:23:23 +01:00
Ryan McKinley f52b6a5a42 Provisioning: Update spec and dependencies (#101746)
Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-03-07 10:57:13 +03:00
Alexander Akhmetov aa5f2e43d4 Alerting: Use upsert to set or update provenance (#101688)
Alerting: Use upsert to update provenance
2025-03-07 08:36:14 +01:00
Stephanie Hingtgen c8278a88c2 Revert "K8s: Fix plugin updater" (#101739)
Revert "K8s: Fix plugin updater (#101646)"

This reverts commit 605a4cbff9.
2025-03-06 23:07:52 +02:00
Sarah Zinger ab56ac515d DS-Querier: Hopefully fix and debug cases where query data response is nil (#101729) 2025-03-06 15:30:06 -05:00
colin-stuart 32624b3251 Tests: skip failing test TestMigrateToSpannerDialect (#101730)
skip failing test TestMigrateToSpannerDialect
2025-03-06 20:47:37 +02:00
Sam Jewell 0eafd0641f SQL Expressions: Simplify test code (#101718)
Simplify, by retaining quotes when escaping query

We also don't need to convert to string when passing to fmt.Sprintf
a slice of Bytes is accepted by Sprintf instead.
2025-03-06 17:02:31 +00:00
Lucy Chen 5996e102af Image Render: Propagate traces in HTTP mode (#100559)
* Rendering: Propagate traces in HTTP mode

* update ini file

* update docs

* update doc

* fix imports

* fix go files

* fix CI

* update ini config

* remove servicename

---------

Co-authored-by: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com>
Co-authored-by: nmarrs <nathanielmarrs@gmail.com>
2025-03-06 12:02:00 -05:00
Alexander Akhmetov a93a05aebd Alerting: Support group-level labels in Prometheus to Grafana conversion (#101624) 2025-03-06 16:20:33 +00:00
Steve Simpson eed07cf503 Alerting: Refactor NewPrometheusWriter function. (#101706)
* Alerting: Refactor NewPrometheusWriter function.

In order to re-use PrometheusWriter, changing the function take a
PrometheusWriterConfig instead of RecordingRulesSettings, and adapt the old
interface onto the new interface.

* Make linter happy
2025-03-06 16:13:22 +01:00
Peter Štibraný 9e690bd620 Spanner support enhancements (#101634)
* Adds ability to run integration tests against spanner (by using GRAFANA_TEST_DB=spanner env variable. SPANNER_DB variable then specifies database to use: spannertest, emulator or string like /projects/<project>/instances/<instance>/databases/<db>)
* Adds feature to migration dialects to create database from a snapshot, instead of running individual migrations.
* Adds first version of Spanner snapshot, prepared from "OSS" migrations.
* Uses generated bit-reversed-positive values instead of auto_increment. (As an experiment)
2025-03-06 16:11:20 +01:00
Karl Persson 43f56c5ca1 Apiserver: Refactor authenticator and authorizers (#101449)
* Clean up authenticator

* Cleanup authorizers and replace org_id and stack_id with namespace authorizer

* Remove dependency on org service

* Extract orgID from /apis/ urls and validate stack id
2025-03-06 16:01:12 +01:00
Hugo Kiyodi Oshiro 0a24a7cd4c Plugins: Remove uninstall plugin step from cli plugins update-all (#101632) 2025-03-06 15:59:32 +01:00
Tania c9ab1142e1 Add OpenFeature providers (#101071)
* Add OpenFeature provider

* Simplify static provider

* Linting

* Apply review feedback

* Codeowner for deps

* Update pkg/services/featuremgmt/openfeature.go

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

* Apply review comments part2

* Remove from sample.ini for now

* fixup! Apply review comments part2

* Add example of context config

* Resolve conflict

* Run update workspaces

---------

Co-authored-by: Dave Henderson <dave.henderson@grafana.com>
2025-03-06 15:09:26 +01:00
Steve Simpson b7dcfcedcb Alerting: Extend recording rule definitions/interfaces with data source. (#101678)
Extend the recording rule definition to include the target data source, allowing
configuration of where the output of the recording rule is written to. Also
extends the relevant interfaces in preparation for the next set of changes.
2025-03-06 14:09:17 +01:00
Robby Milo 13cf67de53 Remove relref shortcodes (#101694)
* manually replce all shared relrefs

* relref replace - grafana next

* Merge branch 'master' into robbymilo/relref-replace-grafana-next

* manual fixes

* remove ref shortcode

* Merge branch 'master' into robbymilo/relref-replace-grafana-next

* prettier

* fix test

* update readme
2025-03-06 13:59:08 +01:00
Gabriel MABILLE 6accf13597 AuthZService: Test Check (#101675)
* wip

* deny case

* Reorganise

* WIP

* Check cache

* Add anonymous test

* Add test for rendering

* Lint import

* Refactor slightly

* more input validation coverage

* Require user

* typo
2025-03-06 13:37:37 +01:00
Tobias Skarhed bd83646bd4 PromLib: Take AdHoc filters into account when requesting suggestions without label (#101555)
* Check for adhoc filters, even when no timeserie name is used

* Add test
2025-03-06 12:21:10 +01:00
Mariell Hoversholm 904d58e936 SQLStore: Introduce new test infra (#101676)
This creates the new testinfra. It is not used anywhere yet.
2025-03-06 11:01:14 +01:00
Gabriel MABILLE a91081a2fc AuthZService: Add certificates to the client (#101603) 2025-03-06 10:18:58 +01:00
Matheus Macabu caabb06cd8 Chore: Bump dependencies to address security issues (#101620)
* Chore: Bump golang.org/x/net to v0.36.0

* Chore: Use github.com/moby/moby version 27.5.1 instead of 26.0.0

* Chore: Bump github.com/ua-parser/uap-go to v0.0.0-20250213224047-9c035f085b90

* Chore: Bump github.com/grpc-ecosystem/go-grpc-middleware/v2 to fix 32-bit overflow issue
2025-03-06 10:12:05 +01:00
Alexander Akhmetov ec7a0db54d Alerting: Return 400 if the Prometheus rule has unsupported options (#101616) 2025-03-06 10:09:40 +01:00
Karl Persson 6389b801b9 Authz: Pass correct property (#101674) 2025-03-06 10:02:04 +01:00
Ryan McKinley a1d5e5dad1 K8s/Swagger: Avoid */* media type (#101658)
* avoid */*

* use application/yaml

* fix lint
2025-03-06 10:13:31 +03:00
alerting-team[bot] 8ef37ea5c1 Alerting: Update alerting module to aae4827ec0610058810f2bbc69800ce377a33376 (#101623)
[create-pull-request] automated change

Co-authored-by: grobinson-grafana <85952834+grobinson-grafana@users.noreply.github.com>
2025-03-05 16:45:20 -05:00
Stephanie Hingtgen 605a4cbff9 K8s: Fix plugin updater (#101646) 2025-03-05 22:24:30 +02:00
linoman c1c9ea6964 SCIM: Assign requester org to new provisioned users (#101548)
Assign requester org to new provisioned users

Co-authored-by: Mihai Doarna <mihai.doarna@grafana.com>
2025-03-05 17:11:44 +01:00
Alexander Zobnin c23bb36956 Zanzana: Fix health check endpoint (#101612) 2025-03-05 15:24:58 +01:00
Yuri Tseretyan 374380d1f6 Alerting: Keep the latest version of deleted rule in version table (#101481)
* add feature toggle alertRuleRestore
* Update delete rule to require UserUID, remove all versions and create "delete" version that holds information about who and when deleted the rule
2025-03-05 09:15:26 -05:00
colin-stuart da2c382d80 Tests: Add SearchOrgUsersFn to FakeOrgService (#101589)
add SearchOrgUsersFn to FakeOrgService
2025-03-05 09:02:01 -05:00
Matheus Macabu 61eb837dd6 Chore: Bump Go to 1.23.7 (#101576) 2025-03-05 14:55:36 +01:00
Alexander Akhmetov d44728f4e5 Alerting: Metric to count imported from Prometheus rules (#100847) 2025-03-05 14:02:28 +01:00
Matheus Macabu 2638de6aeb Anonymous: Add 1min leeway in device count + search in tests for MySQL 5.7 (#101608) 2025-03-05 12:32:37 +01:00
Alexander Zobnin 01899d761e Zanzana: Upgrade to OpenFGA v1.8.6 (#101553)
* Zanzana: Upgrade to OpenFGA v1.8.6

* upgrade openfga
2025-03-05 11:58:31 +01:00
Matheus Macabu 3539764008 Hackaton: Add more unit tests, take 3 (#101525)
* serviceaccounts/secretscan: test Service more thoroughly

* middleware/cookies: add tests for CookieOptions

* anonymous/anonimpl: cover a couple more methods

* components/imguploader: Implement WebDAV integration tests

* components/apikeygen: also check IsValid method

* bus: cover invalid callback signature cases

* cloudmigration/objectstorage: add basic unit tests

* login/social/connectors: add test case for GitHub OAuth fetch emails+orgs

* expr/classic: cover more evaluator types in tests
2025-03-05 08:00:12 +01:00
Ryan McKinley dc2defd84f K8s/Annotations: Use manager/source annotations rather than repo (#101313)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-03-05 08:54:20 +02:00
Stephanie Hingtgen e806a00701 K8s: Dashboards: Add useful error message for too large (#101590) 2025-03-04 17:11:42 -06:00
Stephanie Hingtgen 67221fb328 K8s: Folders: Fix not found errors (#101585) 2025-03-05 00:31:41 +02:00
Stephanie Hingtgen 7c35d741ba Folders: Add validation that folder is not a parent of itself (#101569) 2025-03-04 13:56:21 -06:00
Stephanie Hingtgen b8e1511c7f K8s: Increase max request body (#101564) 2025-03-04 11:27:43 -06:00
Yuri Tseretyan 67b44ad22a Alerting: Fix state reason (#101530)
---------

Signed-off-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2025-03-04 17:05:41 +02:00
Kevin Minehart 2f3aff0e04 Dashboards: Prevent title longer than 5 000 characters (#101554)
Co-authored-by: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com>
2025-03-04 17:02:54 +02:00
Jack Westbrook 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
Alexander Akhmetov 60827fe499 Alerting: Return 403 if no datasource access or quota has been exceeded (#101522) 2025-03-04 10:04:47 +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
alerting-team[bot] 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