Commit Graph

17289 Commits

Author SHA1 Message Date
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
Ryan McKinley 1944d2dd0e Provisioing: Update provisioned folder with a manager identity (#110988) 2025-09-12 10:50:10 +03:00
Alexander Akhmetov 0b9e0ef4dc Alerting: Add a feature toggle to enable Assistant enrichment (#110940)
Alerting: Add a feature toggle to enable Assistant Investigations enrichment
2025-09-12 08:56:13 +02:00
Daniele Stefano Ferru 6b2b949f8f Provisioning: check finalizers when validating Repository object (#110955) 2025-09-11 21:38:41 -05:00
Stephanie Hingtgen a676dc6638 Stats: Add repository stats (#110989) 2025-09-11 16:36:25 -06:00
Stephanie Hingtgen d20ade0c2a Provisioning: Fix settings panic (#110993) 2025-09-11 15:25:19 -07:00
Mihai Turdean ac13da2d1d Use concurrent informer for iam-folder-reconciler (#110987) 2025-09-11 15:57:07 -05:00
owensmallwood 310893292f Unified Storage: Add sort order to keys func in datastore (#110714)
* Add sort order to keys func in datastore. Add test to not prune deleted events.

* include sort field in the ListRequestKey instead of it being a separate param
2025-09-11 14:12:30 -06:00
Stephanie Hingtgen b6567e5abc Folders: Fix deletion in api server (#110984) 2025-09-11 14:46:00 -05:00
Ryan McKinley 9a54243f09 Chore: update golang.org/x/exp (#110980) 2025-09-11 22:13:07 +03:00
Jean-Philippe Quéméner 041fa843da fix(unified-storage): use GetOldObject for delete validation (#110878) 2025-09-11 13:44:14 -05:00
Stephanie Hingtgen ca9982dc15 Folders: Fix panic in unified storage only mode (#110979) 2025-09-11 18:43:03 +00:00
Andreas Christou f5457c7909 InfluxDB: Update feature toggle retrieval (#110941)
* Update how feature toggles are retrieved

* Update wire

* Update Influx registration

* Update test
2025-09-11 19:19:10 +01:00
Andreas Christou 10e335c10d Graphite: Backend metrics find endpoint (#110610)
* 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

* Add tests

* Review

* Review

* Fix packages

* Format

* Fix merge issues
2025-09-11 19:02:50 +01:00
Darren Janeczek 08203a060e feat: NavTree menu entry for adaptive telemetry grafana cloud apps (#109561)
* feat: NavTree menu entry for adaptive telemetry grafana cloud apps

* feat: 'adaptive-telemetry' icon added
2025-09-11 13:13:17 -04:00
Andreas Christou 85e92ce04b Graphite: Backend events endpoint (#110598)
* 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 tests

* Review

* Review

* Fix packages

* Fix merge issues
2025-09-11 17:08:19 +01:00
Gabriel MABILLE aecc2c9fe7 grafana-iam: init mt resourcepermission apis (#110821)
* Init mt resource permissions

* Few fixes for the mt service to work

* Refactor NewAPIService to take the provider and enabledapis
2025-09-11 17:46:29 +02:00
Mustafa Sencer Özcan 2bd76d4044 fix: bump context deadline for integration tests while backend initialization (#110947) 2025-09-11 17:25:13 +02:00
Mihai Turdean 03abe18bb2 Instrument IAM Folder Operator with Tracing (#110923) 2025-09-11 15:21:44 +00:00
Sofia Papagiannaki 7ec9a7a4a8 Configprovider: Update the interface to propagate errors (#110814)
* ConfigProvider: Update Get method to return error alongside configuration
2025-09-11 17:26:54 +03:00
Peter Štibraný c6c8c6e928 Remove feature toggles from bleve backend. (#110951)
* Remove feature toggles from search backend.

* Remove extra import.

* Remove unnecessary code.
2025-09-11 16:08:41 +02:00
Mustafa Sencer Özcan 941a75964f fix: auhtz grpc client no org id issue (#110952) 2025-09-11 14:02:56 +00:00
Alexander Akhmetov fc3636acf2 Alerting: Fix bug where rules with identical mute/active intervals produced conflicting routes (#110935)
Alerting: Fix hash collision in NotificationSettings fingerprint
2025-09-11 13:44:06 +02:00
Andreas Christou 6f83a6b2fd Graphite: Backend health-check (#110518)
* 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 tests

* Review

* Review

* Fix packages

* Fix merge issues
2025-09-11 12:31:11 +01:00
Daniele Stefano Ferru 083c6ee019 Dashboard: skip deletion validation on standalone mode (#110938)
* Dashboard: skip deletion validation on standalone mode

* move dashboard check right before provisioning service is used

* use isInterfaceNil
2025-09-11 13:27:25 +02:00
Levente Balogh 273731ed8e Dashboard Controls: Allow displaying dashboard links (#110666)
* feat: add `placement` to dashboard links (v1)

* feat: add `placement` property for dashboard links (v2)

* refactor: rename the `DropdownVariableControls` to `DashboardControlsMenu`

* feat: make it possible to render links under the dashboard controls dropdown

* fix: update the v2beta1 (and remove changes from v2alpha1)

* fix: linting errors

* chore: update codegen

* fix: frontend unit tests

* tests(DashboardLinkRenderer): add tests

* fix: hide divider if not necessary

* Update apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>

* Update packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update kinds/dashboard/dashboard_kind.cue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update pkg/kinds/dashboard/dashboard_spec_gen.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/zz_generated.openapi.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/dashboard_spec_gen.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/dashboard/pkg/apis/dashboard/v2beta1/dashboard_spec.cue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update packages/grafana-schema/src/schema/dashboard/v2beta1/types.spec.gen.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/dashboard/kinds/v2beta1/dashboard_spec.cue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: remove "default" placement option for links (review note)

* feat: hide the <Stack> wrapper if there are no links or variables

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-11 13:16:46 +02:00
Ashley Harrison 2e0fdb2a60 Frontend Service: Pass static config needed for login to index bootData (#110829)
add almost all config needed for login
2025-09-11 12:05:39 +01:00
Igor Suleymanov 4161f3a5ca Support dashboard restore across API versions (#110694)
What

This commit refactors the logic to restore a dashboard from a version.
The logic is moved from the API handler to the dashboard versions service,
which now supports restoring dashboards of different API versions.

Why

To make sure that dashboard version restoration works with v2 dashboards
API, as well as future API versions.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-09-11 13:35:58 +03:00
Tim Mulqueen 01b5543121 AzureMonitorDatasource: Add bounds check to fix panics (#110879)
(azure-monitor-datasource): add bounds check to fix panics
2025-09-11 12:31:11 +02:00
Gabriel MABILLE 5ce13061d5 AuthZ: Allow create without scope for specific resources (#110867)
* AuthZ: Create without scope for resources outside of folders

* Make it explicit that create requires a scope check

* Update pkg/services/authz/rbac/service.go

* Use skipScope instead of ReqScope

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

* Explain why there is no need to skip scope for roles

---------

Co-authored-by: Ieva <ieva.vasiljeva@grafana.com>
2025-09-11 11:54:41 +02:00
Peter Štibraný 6fa6a5708a Cleanup of old search functionality (#110861)
* Remove support for initMinSize.
Remove support for searchAfterWrite option, now it defaults to true.

* Remove reference to deprecated feature toggle.

* Remove feature toggle completely.

* Remove code related to indexing on watch events.

* Fix compilation error.

* Remove unused field.
2025-09-11 08:23:03 +00:00
Jean-Philippe Quéméner ecf08ad7d5 fix(folders): allow correct max depth on app platform (#110907) 2025-09-11 10:00:23 +02:00
maicon 77fa3333e4 Page limit config for dashboards with visible annotations (#110911)
* Page limit config for dashboards with visible annotations

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

---------

Signed-off-by: Maicon Costa <maiconscosta@gmail.com>
2025-09-10 21:07:24 +00:00
Haris Rozajac 11898abccb Dashboard Schema V2: Fix public dashboards and snapshots (#110060)
* wip; public dashboards and snapshots work

* Chore: Fix example of major release (#110007)

baldm0mma/ fix example of major release

* CI: Push docker images to dockerhub on merges to main (#110056)

* support extracting queries in schema V2

* fix lint and test

* fix test

* clean up

* clean up

* apply feedback about early returns

* fix url issue when clicking open original dashboard in v1

* refactor to early returns

* fix api version comparison

---------

Co-authored-by: Jev Forsberg <46619047+baldm0mma@users.noreply.github.com>
Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com>
2025-09-10 13:09:37 -06:00
Todd Treece 191ddb127a Background Services: Lifecycle o11y (#110570) 2025-09-10 14:33:03 -04:00