Commit Graph

8185 Commits

Author SHA1 Message Date
github-actions[bot]
59fc4b9e98 apply security patch: release-11.5.5/404-202504151210.patch 2025-05-21 20:58:37 +00:00
William Wernert
2ba6cf30cd [release-11.5.5] Alerting: Ensure field validators return the proper type (#105288)
Alerting: Ensure field validators return the proper type (#104050)

* Ensure field validators return the proper type

This ensures correct error propagation through services up to
the API layer.

* Move error wrapping up to call site

(cherry picked from commit 820c338414)
2025-05-13 08:49:40 -04:00
Kevin Yu
1db6d349a7 [release-11.5.4] Prometheus: Add support for cloud partners Prometheus data sources (#103942)
Prometheus: Add support for cloud partners Prometheus data sources (#103482)

* wip

* Add prom flavor support for data source variables and export/import dashboards (#103321)

* add dashboard and data source var selection

* use match plugin id instead

* use updated matchpluginid

* formatting

* cleanup

* regex anchor

* update error msg

* Alerting: Clean up prometheus-flavored types and functions (#103703)

* clean up types and utility functions for dealing with
prometheus-flavored data sources

* Refactor alerting datasource types to use constants as source of truth

* Alerting: Clean up prometheus-flavored types and functions on the bac… (#103716)

Alerting: Clean up prometheus-flavored types and functions on the backend

* add matchPluginId tests

* Update matchPluginId func to bidirectional (#103746)

* update matchpluginid func to bidirectional

* lint

* formatting

* use actual isSupportedExternalRulesSourceType in test

* add tests in datasource_srv

* betterer

* remove type assertion

* remove unnecessary case

* use satisifies to not have to convert tuple to an array of string

* add prometheus_flavor test

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Alexander Akhmetov <me@alx.cx>
(cherry picked from commit fd6fd91115)
2025-04-14 09:47:18 -07:00
xavi
684fbc089e [release-11.5.4] [IAM] Prepend AppSubURL to redirectURI before validating it (#103771)
[IAM] Prepend AppSubURL to redirectURI before validating it (#103475)

(cherry picked from commit 5053aa576d)
2025-04-11 14:00:33 +02:00
grafana-delivery-bot[bot]
7abc79cb2e [release-11.5.3] Alerting: Re-encrypt existing contact points before get and patch in legacy config API (#101819)
Alerting: Re-encrypt existing contact points before get and patch in legacy config API (#101263)

* Test covering Get+Save interaction for newly secret fields

* Alerting: Re-encrypt existing contact points before get and patch

(cherry picked from commit b73c59547c)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2025-03-07 17:23:45 -05:00
Robby Milo
96d15d9091 [v11.5] Remove relref shortcodes (#101707)
* manually replce all shared relrefs

* relref replace - grafana v11.5

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

* manual fixes

* replace ref shortcodes

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

* update readme

* update test

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
2025-03-06 17:48:00 +02:00
Jack Baldry
478ab85845 [release-11.5.3] Rename Explore Apps to App Drilldown (#101259)
Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
Co-authored-by: Kim Nylander <104772500+knylander-grafana@users.noreply.github.com>
2025-02-25 04:03:36 +02:00
github-actions[bot]
880e5fecb9 apply security patch: release-11.5.2/317-202502130459.patch
commit 4fee27d372e0e4f00a60ecef1d9640bd8165c1c8
Author: AgnesToulet <35176601+AgnesToulet@users.noreply.github.com>
Date:   Tue Feb 11 10:57:05 2025 +0100

    Dashboards: Prevent title longer than 5 000 characters

    (cherry picked from commit f9e0789210004b0bd7902255644ef348ae7b3aa8)
2025-02-18 20:54:59 +00:00
grafana-delivery-bot[bot]
3881a173fe [release-11.5.2] AuthN: Refetch user on "ErrUserAlreadyExists" (#100582)
AuthN: Refetch user on "ErrUserAlreadyExists" (#100346)

* AuthN: Refetch user on "ErrUserAlreadyExists"

(cherry picked from commit 0b4c622df8)

Co-authored-by: Karl Persson <23356117+kalleep@users.noreply.github.com>
2025-02-13 12:03:29 +01:00
Moustafa Baiou
fb0d6be79e Alerting: Allow specifying uid for new rules added to groups (#99858)
When modifying rule groups the `uid` can be specified but only if the rule already existed in the DB. If the rule is new the update would be rejected.

This updates the RuleGroup provisioning apis to allow specifying the `uid` when creating/updating rule groups.

Additionally, the RuleGroupIdx was not being updated when rules were reordered in the group.

Context: https://github.com/grafana/terraform-provider-grafana/pull/1971#issuecomment-2599223897
Relates to: https://github.com/grafana/terraform-provider-grafana/issues/1928

Fixes: #98283
(cherry picked from commit 7dee4d1808)
2025-02-12 09:10:39 -05:00
grafana-delivery-bot[bot]
b11b012240 [release-11.5.2] CloudMigrations: save snapshot of alert rule groups (#100184)
CloudMigrations: save snapshot of alert rule groups (#100109)

(cherry picked from commit fde475e3d9)

Co-authored-by: Matheus Macabu <macabu@users.noreply.github.com>
2025-02-07 10:50:52 +01:00
grafana-delivery-bot[bot]
d75d140554 [v11.5.x] Plugin Metrics: Eliminate data race in plugin metrics middleware (#100078)
Plugin Metrics: Eliminate data race in plugin metrics middleware (#99396)

fix: eliminate data race in plugin metrics middleware

A data race was detected when multiple goroutines accessed the `MetricsMiddleware`
simultaneously. The race occurred because a single `MetricsMiddleware` instance
was being shared across goroutines while its `BaseHandler` field was being
modified during middleware chain setup.

Fix by creating a new `MetricsMiddleware` instance for each middleware chain,
while safely sharing the thread-safe Prometheus metrics and plugin registry.
This maintains proper metrics collection while eliminating the mutable shared
state that caused the race condition.

Original error was detected here:

```
WARNING: DATA RACE
Read at 0x00c0039c0790 by goroutine 4486:
  github.com/grafana/grafana-plugin-sdk-go/backend.(*ErrorSourceMiddleware).CallResource()
      /Users/clord/src/grafana/irm-devstack/.devenv/state/go/pkg/mod/github.com/grafana/grafana-plugin-sdk-go@v0.261.0/backend/error_source_middleware.go:93 +0x40
  github.com/grafana/grafana-plugin-sdk-go/backend.BaseHandler.CallResource()
  ...

```

(cherry picked from commit e74cf72d99)

Co-authored-by: Christopher Lord <christopher.lord@grafana.com>
2025-02-04 20:08:52 +02:00
grafana-delivery-bot[bot]
5acb12be61 [v11.5.x] Alerting: Call RLock() before reading sendAlertsTo map (#99880)
Alerting: Call RLock() before reading sendAlertsTo map (#99812)

* Alerting: Call RLock() before reading sendAlertsTo map

* defer unlocking

* drive-tru fix for another lock

* less time holding the lock in SyncAndApplyConfigFromDatabase

(cherry picked from commit 39f212a965)

Co-authored-by: Santiago <santiagohernandez.1997@gmail.com>
2025-01-31 14:45:51 +01:00
Yuri Tseretyan
9c7139ee7a [v11.5.x] Alerting: k8s receivers api encrypt existing unencrypted secureFields on update (#99847)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-01-30 16:42:33 -07:00
Alexander Zobnin
cbb688e910 Zanzana: Remove usage from legacy access control (#98883)
* Zanzana: Remove usage from legacy access control

* remove unused

* remove zanzana client from services where it's not used

* remove unused metrics

* fix linter
2025-01-14 10:26:15 +01:00
Giuseppe Guerra
7480c9eb54 Plugins: Disable SRI checks for filesystem plugins (#98673)
* Plugins: Disable SRI checks for filesystem plugins

* Plugins: Disable SRI checks for filesystem plugins

* Update tests

* Lint

* Check for cdn enabled rather than just plugin class

* ops

* Update tests

* lint
2025-01-14 09:51:01 +01:00
Gabriel MABILLE
4c86de2678 Chore: Update authlib (#98870)
* Chore: Update authlib

* AccessChecker -> AccessClient
2025-01-14 09:42:17 +01:00
Ieva
9b34a56d7c AuthZ service: Take action sets into account when checking folder create permissions (#98751)
take action sets into account when checking folder create permissions
2025-01-14 08:33:42 +00:00
Matthew Jacobson
6883a4b294 Alerting: Regenerate swagger spec (#98914) 2025-01-14 01:23:45 +02:00
maicon
766d645d82 Filewalkwithme/unistore refactor folder service to hit folder apiserver (#98409)
Refactor folder service to use Unified Storage

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-01-13 18:15:35 -03:00
Nathan Marrs
009d7f42b3 Feature Toggles: Add two test feature toggles to test potential AB test setup (#98844)
* add two dummy feature toggles to use for testing potential AB testing setup

* update betterer

* update auto generated files

* fix camelcase test case
2025-01-13 13:13:13 -08:00
Gabriel MABILLE
4d699d4810 AuthZ: Use M3 AuthZ Service (#98621)
* AuthZ: Use M3 AuthZ Service

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

* Fix oss

* fake auth info

---------

Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com>
2025-01-13 16:03:14 +01:00
Stephanie Hingtgen
9ec10be1c7 K8s: Provisioned dashboard support (#98843) 2025-01-13 08:14:12 -06:00
Karl Persson
0f9b107201 Zanzana: Consistently add context (#98862)
* Zanzana: Reworks how contextuals are loaded

* Cleanup listObjectWithStream

* Run list test with streaming enabled
2025-01-13 12:11:51 +01:00
Eric Leijonmarck
04acbcdef2 LBAC for datasources: Add feature toggle LBAC for datasources mimir teamHttpHeadersMimir (#98866)
adds feature toggle LBAC for datasources mimir
2025-01-13 12:42:47 +02:00
Alexander Zobnin
5922015fec Zanzana: Setup GRPC authentication in client/server mode (#98680)
* Zanzana: Setup GRPC authentication in client/server mode

* don't use grpcutils

* refactor

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* Add a namespace stub for in-proc mode

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* Read parameters from config

* authorize server requests

* add namespace to the tests context

* use stack id from config

* simplify authorize func

* properly format namespace

* return Unauthenticated if namespace is empty

* use insecure cred only in dev env

* check request namespace

* Use CallCredentials API for client auth

* provide config

* fail if stack id is missing

* improve error message

* use insecure connection by default

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
2025-01-13 10:02:15 +01:00
Ida Štambuk
d73bb12b99 Features: Remove cloudwatchMetricInsightsCrossAccount feature toggle (#98826) 2025-01-11 00:23:23 +02:00
Selene
9e5fd78b52 Codegen: Remove pfs codegen dependency from Grafana codebase (#98840)
* Remove pfs dependency for IAM struct to avoid to import codegen code in main go.mod

* Remove pointer

* Remove dependency cycle

* Update tests
2025-01-10 22:43:40 +02:00
Michael Mandrus
c9d22f06c3 CloudMigrations: Bulk update local resources (#96002)
* wip

* make tests pass

* get all tests passing

* fixes

* some small cleanup

* fix test

* convert delimiter keys to struct keys

* dont execute empty sql statement

* remove printlns

* fix unit test

* a bit more cleanup

* whoops
2025-01-10 14:42:18 -05:00
Alexander Akhmetov
aaa4fe1fe4 Alerting: handle err-mimir-label-value-too-long as user error in the prom writer (#98783)
Alerting: handle err-mimir-label-value-too-long as user error in the writer
2025-01-10 18:36:05 +01:00
Gabriel MABILLE
bc7e90bc28 AuthZ: Fix client dial options (#98827) 2025-01-10 17:41:56 +01:00
xavi
345757c3ae Auth: Fix SAML user IsExternallySynced not being set correctly (#98487) 2025-01-10 17:37:37 +01:00
Stephanie Hingtgen
215eb31c7a Annotations: Fix usage of dashboard table for permissions (#98774) 2025-01-10 08:35:38 -06:00
Santiago
86e8147df3 Alerting: Use AlertRuleKey for comparison before rule evaluation (#98808)
(WIP) Alerting: Use AlertRuleKey for comparison before rule evaluation
2025-01-10 15:31:03 +01:00
Selene
0501ff9079 Codegen: Isolate schema generation code (#98742)
* Create go.mod files for plugins and core kinds

* Update go work and main go.mod dependencies

* Update pfs import

* Missing update of pfs dependency

* Remove fixed cuelang dependency

* Update codeowners

* Update workspace

* Update Dockerfile

* Missing go.mod codeowner

* Use intermediate kin-openapi dependency to make all workspaces to work
2025-01-10 13:33:51 +01:00
Michael Mandrus
7aa747eb7b CloudMigrations: Enable feature toggle by default in 11.5 (#98686)
* update toggle state for 11.5

* remove unneeded e2c toggle

* remove public preview condition

* regen some stuff
2025-01-10 05:28:35 -06:00
Timur Olzhabayev
50668d527a Chore: Lift pluginsFrontendSandbox feature toggle to the next stage (#98789)
Move pluginsFrontendSandbox feature toggle to the next stage
2025-01-10 13:00:31 +02:00
Karl Persson
c593b20465 Zanana: Add custom verb for get_permissions and set_permissions. (#98616)
* Add custom verb for get_permissions and update_permissions.

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-01-10 11:49:26 +01:00
Alex Khomenko
16d899f1b0 Announcement banner: Remove feature toggle (#98782) 2025-01-10 12:18:43 +02:00
Stephanie Hingtgen
9488bf2915 Dashboards: use service for quotas (#98756) 2025-01-09 22:21:21 -07:00
Stephanie Hingtgen
e195a56c24 Dashboards: move validation to service (#98769) 2025-01-09 22:28:26 -06:00
Selene
7cad430ca7 ContactPoints: Remove blank lines prefixes in contact point types (#98590)
Remove blank lines prefixes in contact point types
2025-01-09 19:07:29 +01:00
Yuri Tseretyan
4f62c8a160 Alerting: Update state manager to take image only once per rule evaluation (#98289)
* add test

* update state manager to take image only once per rule evaluation process execution

* update test
2025-01-09 12:57:58 -05:00
Dave Henderson
ee7ffb7a04 chore(deps): remove obsolete prometheus replace directive (#96925)
* chore(deps): remove obsolete prometheus replace directive

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

* chore: Replace newly-deprecated call

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>

---------

Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2025-01-09 12:56:42 -05:00
Leonor Oliveira
90035f9786 Remove permissions call which would get folders again (#98729)
* Remove permissions call which would get folders again

* Remove comment
2025-01-09 18:45:20 +01:00
Misi
c52ec21c75 Auth: Add a feature toggle to roll out SAML session improvements (#98750)
Add separate feature toggle to roll out SAML-related external session improvements
2025-01-09 19:02:49 +02:00
colin-stuart
4581a82ac4 Auth: disable passwordless auth if any SAML/OAuth is enabled (#98227)
* Auth: disable passwordless auth if any SAML/OAuth is enabled

* Update pkg/services/authn/authnimpl/registration.go

Co-authored-by: Victor Cinaglia <victor@grafana.com>

* simplify check if any auth providers are enabled

* add accidentally removed break statement, use IsEnabled with empty context to check if PasswordlessMagicLinkAuth enabled

* use IsClientEnabled

* Update pkg/api/frontendsettings.go

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>

---------

Co-authored-by: Victor Cinaglia <victor@grafana.com>
Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2025-01-09 11:44:16 -05:00
Andres Martinez Gotor
82892fa034 Plugins: Enable userStorageAPI feature flag by default (#98745) 2025-01-09 18:31:07 +02:00
Karl Persson
fb5783691d Zanzana: Fix reconciliation of fixed roles (#98696)
Remove "globalReconciler" and reuse the same one but only run them for cluster namespace
2025-01-09 10:40:18 +01:00
Agnès Toulet
4ae627e420 Render Service: Add trace ID to logs (#98006)
* Rendering: add logs

* fix tests and lint issues

* add context to logs

* update timed out logs to error logs
2025-01-09 10:19:11 +01:00