Commit Graph

8175 Commits

Author SHA1 Message Date
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
Leonor Oliveira 4f2d8a1a3b Remove access to folders directly from library elements service (#98665)
* Remove access to folders directly from library elements service

* Lint

* Remove unwanted comment
2025-01-09 11:03:04 +02:00
Matheus Macabu 3958fb9e0a CloudMigrations: Introduce RBAC role for migration assistant (#98588)
* CloudMigrations: delete unused code

* CloudMigrations: add access control and protect API + navtree with action

* CloudMigrations: register access control roles

* CloudMigrations: gate frontend based with access control

* CloudMigrations: fix api tests

* CloudMigrations: add docs on new actions and roles

* CloudMigrations: dont interpolate vars to make it more greppable

* CloudMigrations: run prettier
2025-01-09 06:03:42 +02:00
Stephanie Hingtgen 2992fbf6ef K8s: Stats: Update requester (#98706) 2025-01-08 22:09:39 +02:00
Ryan McKinley 429da7fd68 SQL/Blob: Add support for blob storage to SQL backend (#98192) 2025-01-08 22:08:10 +02:00
Yuri Tseretyan 3e68731600 Alerting: Enable flag alertingApiServer by default (#98282)
* enable flag alertingApiServer by default
* remove feature flag toggle in integration tests
* disable flag for old API tests
2025-01-08 14:31:35 -05:00
Stephanie Hingtgen 5ed2a4c624 K8s: Dashboards: Add deletion validation for provisioned dashboards (#98504) 2025-01-08 06:58:21 -06:00
Stephanie Hingtgen ce512862f7 Stats: remove dependency on dashboards and folders (#98653) 2025-01-08 06:57:52 -06:00
Ieva 338a41f178 AuthZ service: Add single flight groups for permission fetching (#98607)
add single flight groups for user and anonymous permission checking
2025-01-08 14:53:32 +02:00
Arati R. e786292673 Folders: Include folder UID when loading dashboards for search v2 (#98592)
* Include folder UID when loading dashboards
* Remove folder UID lookup
2025-01-08 09:32:36 +01:00
Stephanie Hingtgen 69adb3d25b Tests: Fix dashboard mock (#98647) 2025-01-08 00:20:35 +02:00