Commit Graph

17323 Commits

Author SHA1 Message Date
Stephanie Hingtgen d451cb6dcc Provisioning: Skip another flaky test (#111198) 2025-09-16 19:28:59 +00:00
Stephanie Hingtgen c4d89a7a09 Provisioning: Add back most integration tests; skip flaky ones (#111197) 2025-09-16 14:50:08 -04:00
Alex Khomenko 571b3226ba Dashboard search: Return description in search results (#110857)
* DashList: Add description

* Support unified storage

* Support unified storage[2]

* Exclude description from field

* Cleanup

* add description

* Revert dashlist changes

* Update cue

* Fix test

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-16 18:17:22 +03:00
Mustafa Sencer Özcan 4c2240dcc3 fix: introduce an init lock for the storage backend integration tests (#111166) 2025-09-16 14:18:06 +00:00
Ezequiel Victorero 6811cc1aa9 Share: Remove new share drawer feature flag (#111048) 2025-09-16 10:57:49 -03:00
Misi 29551a6edf IAM: Implement Delete in Service Account API (#110584)
* wip

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

* Add Role to SA spec, add validation, add DBTime, add tests

* Format, update test

* Fixes

* Add check for External

* wip

* Fix merge

* wip

* Use plugin name instead of title for ext svc account login

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* Remove OrgID from DeleteUserCommand

* Use the new authorizer

* Fix tests

* cleanup

* Move test to enterprise

* Revert unnecessary change

* Address feedback

* Revert "Address feedback"

This reverts commit 8ab9559076.

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-16 15:39:01 +02:00
Yuri Tseretyan 356521c9b9 Alerting: Annotation CanUse for receiver resource (#110839)
* add origin to receiver
* populate origin of the receiver
* set CanUse to false if origin is not Grafana
* set provenance if origin is imported
* set Grafana origin by default in conversion API
* set canUse annotation
* reject update\delete operations on resources with origin other than Grafana
* fail to create with wrong origin
2025-09-16 09:32:04 -04:00
Bogdan Matei 2ede582aa0 Dashboard: Add feature flag for undo/redo (#111096) 2025-09-16 16:03:16 +03:00
Will Assis 6b2fb782c8 fix (unified-storage): search returning empty results when query includes small term (#111140)
* fix search not returning anything when a word in the query has less than 3 characters

* fix test name

* fmt

* remove trimspace
2025-09-16 08:55:23 -04:00
Lucy Chen be9ce8a5ff CloudMigration: Fix flakey test (#111126)
* fix flakey test

* remove skip

* change require
2025-09-16 12:39:14 +00:00
Hugo Häggmark 35df3ae554 Chore: filter out bots from frontend logging (#111157)
* Chore: filter out bots from frontend logging

* chore: updates after PR feedback

* chore: change solution to use beforeSend
2025-09-16 14:13:06 +02:00
lean.dev c6fe19b472 FeatureToggleAdminPage: fix owner of feature toggle (#111172) 2025-09-16 13:12:23 +01:00
Jo 321c3f8ec1 Authorization: update OpenFGA (#111094)
update openfga to v1.10
2025-09-16 13:23:46 +02:00
Tobias Skarhed bf31c67159 Secrets: Add route for secrets UI (#111161)
Add secrets route
2025-09-16 13:00:37 +02:00
Ryan McKinley 0a79b3bdc5 Chore: Upgrade k8s.io/api v0.34.1 and grafana-app-sdk v0.43.1 (#111009) 2025-09-16 13:35:20 +03:00
Georges Chaudy c251ebf4d5 kvstore: merge the metadata store into the datastore (#110334)
* migrate eventstore to datastore

* Add folder to event key

* lint

* lint

* lint

* lint

* remove foundkye

* refactor the Keys methods to move the Sort outside the ListKey method

* remove bad import

* fix missing params

* lint

* fix test

* perf improvement
2025-09-16 12:16:29 +02:00
Costa Alexoglou 8a352cc352 fix: reduce logs for Github repo.build (#111117)
* fix: reduce logs for Github repo.build

* ci: go workspace
2025-09-16 09:57:08 +00:00
Alexander Zobnin 38e5298807 Authz: Skip cache in List request if option provided (#110864)
* Authz: Skip cache in List request if option provided

* return timestamp with list response

* update authlib

* add skipCache option test

* refactor

* fix tests

* update workspaces

* Set zookies depending on cache hit

* update workspaces

* Fix nil pointer
2025-09-16 11:27:07 +02:00
Alexander Akhmetov a5ad4715a6 Alerting: Fix start with unified_alerting disabled (#111160) 2025-09-16 08:56:09 +00:00
Peter Štibraný f77e99d965 Store build time and build version into index. (#111010) 2025-09-16 10:52:30 +02:00
Eric Leijonmarck 868e3a5e8e grafana-iam: Adds config opts for RBACRemoteClient for load balancing (#110819) 2025-09-16 09:49:37 +01:00
Will Browne b154763d04 Chore: Bump prometheus/client_golang to v1.23.2 (#111123)
bump prometheus/client_golang to v1.23.2
2025-09-16 09:26:50 +01:00
Todd Treece d08a7abfbb Provisioning: Temporarily skip flaky tests (#111128) 2025-09-15 16:45:29 -04:00
Kyle Brandt 4583402ba9 SQL Expressions: Instrumentation fix and extra testing (#110778) 2025-09-15 13:00:22 -04:00
Bruno 3b8ea08ad7 skip Test_GetSnapshotStatusFromGMS (#111122) 2025-09-15 16:45:46 +00:00
Bruno c61624ad3c Query caching: add request deduplication middleware (#110892)
* secrets: update test to accept []byte(nil) and []byte{} (#110630)

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>

* Query caching: add request deduplication middleware

* log error if unable to build cache key

* remove TODO

* always use req.PluginContext.DataSourceInstanceSettings.UID

* make update-workspace

---------

Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2025-09-15 12:07:47 -03:00
Vadim Stepanov d4bad37853 Alerting: Move notification historian to grafana/alerting (#109078)
* Move notification historian to grafana/alerting

* wip

* golangci-lint

* Revert "golangci-lint"

This reverts commit 10ccebad41.

* JSONEncoder

* alertingInstrument

* go mod tidy

* go.work.sum

* make update-workspace

* merge

* revert go.mod changes

* github.com/grafana/alerting

* make update-workspace

* update github.com/grafana/alerting

* merge
2025-09-15 15:23:51 +01:00
Ryan McKinley a5bd313f5a ShortURL: Implement /goto with a sub-resource (#110972) 2025-09-15 16:56:20 +03:00
Will Browne 2df39fc71a Plugins: Add metrics for fs + cloud provisioning info (#111030)
* add new metrics for plugin fs + cloud provisioning

* fix test

* update label
2025-09-15 14:54:16 +01:00
Andreas Christou 5d48747fea Graphite: Backend version endpoint (#110774)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Support tag values autocomplete

- Remove unused frontend endpoints
- Add types
- Update tests

* Support the version endpoint

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-15 12:56:08 +01:00
Alexander Zobnin 294fd943c0 Chore: Update authlib (#110880)
* Chore: Update authlib

* exclude incompatible version of github.com/grafana/gomemcache

* Update go-jose to v4

* fix jose imports

* remove jose v3 from go.mod

* fix tests

* fix serialize

* fix failing live tests

* add v1 of ES256 testkeys. Port tests to use ES256 instead of HS256

* accept more signature algs for okta and azuread

* azure social graph token sig

* accept more signature algs for oauth refresh and jwt auth

* update workspace

* add a static signer for inproc

* rebase and fix ext_jwt

* fix jwt tests

* apply alex patch on gomemcache

* update linting

* fix ext_jwt panic

* update workspaces

---------

Co-authored-by: Jo Garnier <git@jguer.space>
2025-09-15 12:45:15 +02:00
Andreas Christou df2bb6be0a Graphite: Backend tag values autocomplete endpoint (#110773)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Support tag values autocomplete

- Remove unused frontend endpoints
- Add types
- Update tests

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint
2025-09-15 11:35:29 +01:00
Jo ba65aa6529 AccessControl: Remove deprecated scope split migration (#111071)
remove scope migrator
2025-09-15 11:47:08 +02:00
Ryan McKinley afc08dbbbc Chore: go.mod updates (#110957) 2025-09-15 09:01:45 +00:00
Gabriel MABILLE 6c35bb2c6e ExtSvcAccount: Remove expensive extsvc_total metric (#111031)
* ExtSvcAccount: Remove expensive `extsvc_total` metric

* Remove unused variables
2025-09-15 10:11:20 +02:00
Ezequiel Victorero 135e9ef102 ShortURL: Use the new k8s api in the frontend (#110537) 2025-09-12 20:23:50 -03:00
Andreas Christou 211c0ca5c3 Graphite: Backend tags autocomplete endpoint (#110772)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Support tags autocomplete in backend

- Add tests
- Add types
- Remove unneeded comments

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-12 23:53:09 +01:00
Andreas Christou 3081ac166a Graphite: Backend functions endpoint (#110771)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Rename type for clarity

* Add get resource req handler

* Refactor doGraphiteRequest, parseResponse

Update tests

* Migrate functions endpoint to backend

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types

* Lint

* Lint
2025-09-12 23:23:44 +01:00
Moustafa Baiou cb7abbaa0f Alerting: Rename expression elements of Rules APIs (#110914)
This renames `data` to `expressions` for clarity in the rules apis.

Also makes certain fields that are redundant optional in the case of pure expressions, so that users don't have to specify them when they are not needed (e.g. not datasource queries).
2025-09-12 22:15:55 +00:00
Andreas Christou 3e0f57a407 Graphite: Backend metrics expand endpoint (#110678)
* Add lint rules

* Backend decoupling

- Add standalone files
- Add graphite query type
- Add logger to Service
- Create logger in the ProvideService method
- Use a pointer for the HTTP client provider
- Update logger usage everywhere
- Update tracer type
- Replace simplejson with json
- Add dummy CallResource and CheckHealth methods
- Update tests

* Update ConfigEditor imports

* Update types imports

* Update datasource

- Switch to using semver package
- Update imports

* Update store imports

* Update helper imports and notification creation

* Update context import

* Update version numbers and logic

* Copy array_move from core

* Test updates

* Add required files and update plugin.json

* Update core references and packages

* Remove commented code

* Update wire

* Lint

* Fix import

* Copy null type

* More lint

* Update snapshot

* Refactor backend

- Split query logic into separate file
- Move utils to separate file

* Add health-check logic

- Support backend healthcheck if the FF is enabled

* Remove query import support as unneeded

* Add test

* Add util function for decoding responses

* Add events types

* Add resource handler

* Add events handler and generic resource req handler

* Tests

* Update frontend

- Add types
- Update events function to support backend requests

* Lint and typing

* Lint

* Add metrics find endpoint

- Add types
- Add generic response parser
- Add endpoint
- Tests

* Update FE functoin to use backend endpoint

* Lint

* Simplify request

* Update test

* Metrics expand type

* Extract shared logic and add metric expand endpoint

* Update tests

* Call metric expand from backend

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues

* Review

* Fix undefined values

* Extract request creation

- Add method for create requests generically with tests
- Replace usage in query method
- Update usages in resource handlers
- Update tests
- Update types
2025-09-12 22:35:10 +01:00
owensmallwood 7ce971cba1 Unified Storage: Adds pruner for kv eventstore (#110785)
* Adds pruner for eventstore - default 24 hours. Adds tests.

* update comment

* remove delay on startup. formatting

* updates log message type and removes useless comment

* caller handles goroutine for runCleanupOldEvents()

* simplify timestamp extraction

* adds config for event pruning interval

* uses start and end key to get all expired events

* remove sort when listing keys in event pruner - order doesnt matter

* use snowflake constants

* log when we delete 0 rows

* pass time.Time to cleanup old events func
2025-09-12 14:40:16 -06:00
Stephanie Hingtgen c5ed2780ab Provisioning: Fix deletion order (#111043) 2025-09-12 20:02:13 +00:00
lean.dev c52eedbf23 CloudMigration: fix flacky test (#111046) 2025-09-12 19:46:11 +00:00
Haris Rozajac de01b3e209 Dashboard Schema V2: Support panel actions (#110842)
* support panel actions

* refactor

* add test; move action transformer to utils

* refactor so v2 headers and queryParams are just a simple record

* update open api

* update actions to be same shape accross all dashboard schemas and add validation on the backend

* cleanup

* update snapshot

* add tests to validation
2025-09-12 11:31:05 -06:00
Cory Forseth fbdfab8ceb Authz: add logs for monitoring (#110959)
* add logs for monitoring

* add logging around hook enablement
2025-09-12 07:04:31 -05:00
Jo edcd113054 Authz: Remove legacy API Key permissions (#110860)
* remove API key roles

* remove API key gen

* remove frontend and doc mentions

* restore legacy keygen

* restore codeowners

* prettier

* update swagger

* remove permissions including apikeys

* add migrator for removing deprecated permissions

* add tracing

* update openapi3

* simplify migrator for now

* accesscontrol/migrator: remove batching for deprecated permissions deletion
2025-09-12 13:59:37 +02:00
Daniele Stefano Ferru 1f7afc6b6a Provisioning: add unit and integration tests for finalizer validation (#111012)
* Add unit testS

* add integration tests
2025-09-12 13:57:31 +02:00
Ryan McKinley 842ae463b7 Chore: update otel v1.37.0 to v1.38.0 (#110985) 2025-09-12 10:11:56 +00:00
Ieva d4399e6eda grafana-iam: Implement resourcepermission update (#110891)
* first go at update implementation

* template tests

* SQL tests

* more tests

* set namespace for read resource permissions

* fix a bug with perms being removed right after they're added

* remove unwanted changes

* fix tests and check error

* PR feedback

* Update pkg/registry/apis/iam/resourcepermission/sql.go

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-12 10:43:51 +01:00
Ryan McKinley 1004b26a4a Provisioning: Avoid using listers.RepositoryLister outside a controller (#110948)
* use raw storage

* avoid informer cached lister
2025-09-12 11:23:02 +02:00