Commit Graph

909 Commits

Author SHA1 Message Date
Ivana Huckova
307974f20d Data sources: Improve error messages for grpc errors (#102372)
* Data sources: Improve error messages for grpc errors

* Improve code comments

* Fix lint

* Update connection issue message

* Update name

* Update comment

* Update, rename and add test

* Update, remove POC change

* Fix lint
2025-03-20 18:44:47 +01:00
Will Browne
5b67ae1876 Plugins: Remove support for secrets manager plugins (#101467)
* remove secrets manager code

* remove unused struct

* add test toggles back

* rollback golden file changes

* add missing TestMain

* update betterer
2025-03-20 10:00:59 +00:00
Yulia Shanyrova
cbdf2eecab Plugins: Update some links in plugin jsons due of mistakes in previous PR (#102214)
* update some links in plugin jsons update backend tests

* fix the test

* fix the test

* Update public/app/plugins/datasource/azuremonitor/plugin.json

Co-authored-by: David Harris <david.harris@grafana.com>

* more docs links added, fix tests

---------

Co-authored-by: David Harris <david.harris@grafana.com>
2025-03-20 09:25:04 +01:00
dependabot[bot]
967425ab1b Bump github.com/expr-lang/expr from 1.16.9 to 1.17.0 in /pkg/codegen (#102333)
* Bump github.com/expr-lang/expr from 1.16.9 to 1.17.0 in /pkg/codegen

Bumps [github.com/expr-lang/expr](https://github.com/expr-lang/expr) from 1.16.9 to 1.17.0.
- [Release notes](https://github.com/expr-lang/expr/releases)
- [Commits](https://github.com/expr-lang/expr/compare/v1.16.9...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/expr-lang/expr
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* update workspace

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-18 09:49:03 +03:00
Yulia Shanyrova
3f2eb087ea Plugins: Update all core plugins with raise issue and docs links (#101929)
* update all core plugins with raise issue and docs links

* fix plugin loader test, run prettier

* fix test

* update test results for api plugin tests
2025-03-12 14:15:46 +01:00
Selene
e128c36127 Codegen: Cog and go fixes (#101408)
* Update to latest cog version and update workspaces

* Update generated go files

* Try to avoid concurrency issues

* Update workspaces

* Try to remove the sync...

* Remove grafana dependency from xorm go.mod file
2025-03-12 10:12:56 +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
Matheus Macabu
61eb837dd6 Chore: Bump Go to 1.23.7 (#101576) 2025-03-05 14:55:36 +01:00
Ryan McKinley
806c043e45 UnifiedStorage: Rename Batch processing to Bulk (#101413) 2025-02-28 08:41:08 +03:00
ismail simsek
b16904651f Chore: Bump grafana-plugin-sdk-go to v0.267.0 (#101376)
* bump grafana-plugin-sdk-go to v0.267.0

* make update-workspace
2025-02-27 11:13:58 +01:00
Matheus Macabu
3aedb9159e Chore: Update golang.org/x/crypto and golang.org/x/ouath2 to address security issues (#101268)
- CVE-2025-22869 and Go issue https://go.dev/issue/71931.
- CVE-2025-22868 and Go issue https://go.dev/issue/71490.
2025-02-25 11:15:41 +01:00
Ivana Huckova
9eda0f44ac Update ErrRequestErrorBase from [plugin.downstreamError] to [plugin.requestFailureError] (#100965)
* Update ErrRequestErrorBase to make it more clear for developers

* Trigger build

* requestError -> requestFailureError

* Fix test

* Update pkg/plugins/backendplugin/grpcplugin/client_v2.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2025-02-20 10:23:53 +01:00
Giuseppe Guerra
011726c80f Plugins: Update DefaultSignature function signature in PluginSource interface (#100519)
* Plugins CDN: Add support for signature type and signature org

* Fall-back to valid signature if the config is not supported

* Move CDN signature code to DefaultSignature

* fix tests
2025-02-19 12:19:45 +01:00
Ivana Huckova
a69fac6e16 Mark grpc data source timeouts as cancelled queries (#100573)
* Set up to reproduce issue locally

* add check for deadline exceeded

* Revert "Set up to reproduce issue locally"

This reverts commit d8d9b354ca.

* Trigger build

---------

Co-authored-by: Will Browne <will.browne@grafana.com>
2025-02-13 13:40:53 +01:00
Dominik Süß
8a8e47fcea PluginExtensions: Added support for sharing functions (#98888)
* feat: add generic plugin extension functions

* updated betterer.

* Fixed type issues after sync with main.

* Remved extensions from datasource and panel.

* Added validation for extension function registry.

* Added tests and validation logic for function extensions registry.

* removed prop already existing on base.

* fixed lint error.

---------

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2025-02-13 10:18:55 +01:00
Gábor Farkas
390b5eb6d4 go.mod: updated grafana-plugin-sdk-go (#100342)
* go.mod: update grafana-plugin-sdk-go

* make update-workspace
2025-02-10 11:38:30 +01:00
Giuseppe Guerra
ccb9cab131 Plugins: Add synchronous CDN plugin loader (#99096)
* WIP

* Run plugin validations and validation steps sequentially if feature is off

* Remove dependency between sources.Service and pluginscdn.Service

* lint

* Parallelize validation only if class is CDN

* re-generate feature toggles

* remove waitgroup usage

* PR review: Add loader concurrency limit setting

* re-generate feature toggles

* pr review feedback

* fix const name

* Skip module.js validation for cdn plugins

* do not run validation steps in parallel

* lint

* reduce diff

* re-generate feature toggles

* lint

* pr review feedback

* remove leftover config.PluginManagementCfg from sources.Service
2025-02-07 11:07:08 +01:00
Ivana Huckova
6e7e389ee2 Report grpc canceled timeouts as cancelled status and not error (#99981) 2025-02-04 13:31:03 +01:00
Igor Suleymanov
b683724bec Upgrade grafana-app-sdk to 0.31.0 (#99739)
* Upgrade grafana-app-sdk to 0.31.0

What

This commit upgrades the app SDK to 0.31.0 and re-generates codegen files.
It doesn't touch alerting schemas, because those are quite old and
should be upgraded separately.

This commit slightly alters the schemas for the investigations app,
because the codegen is not happy with the current syntax, for some
reason (probably has to do with CUE upgrades in `cog`).

Why

To make sure we use up-to-date SDK version and remove the workaround for
the `defencoding=none` bug that required us to clean up generated CRD
files.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Revert changes to golden file for store tests

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
2025-01-30 16:10:42 +02:00
Gareth Dawson
33d82c43df Jaeger: run health check through backend (#99322)
run health check through backend
2025-01-24 19:37:36 +07:00
Andres Martinez Gotor
003f0e5918 Plugins: Expose function to retrieve gcom info (#99372) 2025-01-22 16:41:34 +02:00
Igor Suleymanov
bc6b7a4df6 Update playlists app schemas to work with app SDK v0.29.0 (#98974)
* Update playlists app schemas to work with app SDK v0.29.0

What

* Added the manifest for the playlists app
* Updated playlist kind definition to match the new format
* Re-generated the files
* Changed Makefile to not use post-processing flag

Why

To make sure the codegen works with the latest version of the app SDK.

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Update app SDK to v0.30.0

* Skip generating custom resource definitions

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

* Fix SDK not generating the manifest Go file

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>

---------

Signed-off-by: Igor Suleymanov <igor.suleymanov@grafana.com>
Co-authored-by: Todd Treece <360020+toddtreece@users.noreply.github.com>
2025-01-17 16:17:31 +02:00
Ryan McKinley
cd46f1ddb9 Search: Remove history query (#99026) 2025-01-15 12:49:47 -06:00
Syerikjan Kh
dfe0712955 feat: pass gcom sso_api_token to repo created from install command (#98973)
* feat: pass gcom sso_api_token to repo created from install command

* fix

* fix: extract gcom section to a func

* Update pkg/cmd/grafana-cli/utils/command_line.go

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* fix: only set gcom token when the request is to GCOM

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2025-01-15 08:15:18 -05:00
Selene
7151ea6abc Codegen: Generate Golang code using cog (#98812)
* Use cog for Go types

* Delete old generation code

* Fix plugins generation

* workspaces update

* Update datasources with new generated code

* More fixes

* Update swagger and openapi specs

* Fixes

* More files...

* Update workspace

* More fixes...

* Remove unused functions
2025-01-14 15:58:38 +01:00
Will Browne
70fb7b9545 Plugins: Remove bundled plugins feature (#96490)
* remove bundled plugins

* Add echo to command

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* remove folder entirely

* remove folder from CODEOWNERS

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-01-14 12:04:01 +00:00
ismail simsek
f74396b51d Prometheus: Update prometheus to v0.301.0 for utf8 support (#98848)
* update github.com/prometheus/prometheus to v0.301.0

* have an adapter for infra logger

* go mod tidy and go work sync

* remvoe the cuelang.org/go replace

* remove slog_adapter
2025-01-13 17:14:20 +01: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
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
Will Browne
5a2315dabf Plugins: Capture error source from grpc status errors (#97471)
* capture errorsource from grpc error

* apply PR feedback

* update comment

* update comment

* use SDK logic

* update SDK commit

* update sdk

* update golden files
2025-01-08 17:05:28 +00:00
Andres Martinez Gotor
e0935246a3 Preinstall: Allow to set a download URL (#96535) 2024-11-29 16:02:33 +01:00
Ryan McKinley
f6ccf976e5 UnifiedSearch: Use ResourceIndex from dashboards apiserver (v0alpha1 only) (#96939) 2024-11-27 07:57:53 +02:00
Hugo Kiyodi Oshiro
a8174f9285 Plugins: Add token to gcom requests (#96261) 2024-11-26 11:42:55 +01:00
Sven Grossmann
5965aa9aca Loki: Fix healthcheck logger always appending endpoint (#96531)
* Loki: Fix healthcheck logger always appending `endpoint`

* add test
2024-11-15 12:51:52 +01:00
Ivana Huckova
4d0a7637b2 Zipkin: Run health check through backend (#96031)
* Zipkin: Run health check through backend

* Mark some errors as downstream

* Update pkg/tsdb/zipkin/zipkin.go

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Use errors.New where error formatting is not needed

* Remove executable in plugin.json

* Fix joining the path

* Keep logger as global and then create from context

* Close the res body

---------

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2024-11-07 16:48:00 +01:00
Will Browne
b87c76ad21 Plugins: Add metric to track plugin backend target (#95976)
* add metric to track plugin backend target

* tidy

* fix test
2024-11-07 12:01:46 +00:00
Syerikjan Kh
06bdfe8e96 ref: remove alias check - moved to gcom (#95955) 2024-11-06 09:30:24 -05:00
owensmallwood
0eb7b755e2 Unified Storage Indexer: Add integration tests (#95687)
* indexer integration tests WIP

* make protobuf

* Adds a few more integration test cases to cover the basics. Use Limit instead of Size param from SearchRequest.

* skip if testing.Short()

* adds test comments
2024-11-01 07:58:10 -06:00
Will Browne
9ae3d049a3 Plugins: Simplify TestExtractFiles test (#95183)
simplify TestExtractFiles test
2024-10-24 12:01:00 +01:00
Marcus Efraimsson
b28085110d Plugins: Auto instrumentation improvements (#94193) 2024-10-15 14:02:34 +02:00
Will Browne
f97f489c2c Plugins: Skip install errors if dependency plugin already exists (#94710)
* skip install errors if dependency plugin already exists

* add test
2024-10-15 11:35:45 +01:00
Syerikjan Kh
f8748f0724 ref: pass tracer to plugin factory func (#93701)
* ref: pass tracer to plugin factory func

* fix: add tracer to coreplugin

* test: fix test, generate wire

* test: ignore trace field in loader_test

* ref: pass tracer as dependency, don't store in plugin

* ref: wrap tracer with tracer provider to satisfy WithTracerProvider

* ref: use otel trace.Tracer type for tracer
2024-10-10 20:30:56 -04:00
Giuseppe Guerra
0db65d229e Plugins: Add Subresource Integrity checks (#93024)
* Plugins: Pass hashes for SRI to frontend

* Add SRI hashes to frontendsettings DTOs

* Add docstring

* TestSriHashes

* Fix typo

* Changed SriHashes to ModuleHash

* update loader_test compareOpts

* update ModuleHash error message

* Add TestModuleHash/no_module.js

* Add omitEmpty to moduleHash

* Add ModuleHash to api/plugins/${pluginId}/settings

* moved ModuleHash field

* feat(plugins): add moduleHash to bootData and plugin types

* feat(plugins): if moduleHash is available apply it to systemjs importmap

* Calculate ModuleHash for CDN provisioned plugins

* Add ModuleHash tests for TestCalculate

* adjust test case name

* removed .envrc

* Fix signature verification failing for internal plugins

* fix tests

* Add pluginsFilesystemSriChecks feature togglemk

* renamed FilesystemSriChecksEnabled

* refactor(plugin_loader): prefer extending type declaration over ts-error

* added a couple more tests

* Removed unused features

* Removed unused argument from signature.DefaultCalculator call

* Removed unused argument from bootstrap.DefaultConstructFunc

* Moved ModuleHash to pluginassets service

* update docstring

* lint

* Removed cdn dependency from manifest.Signature

* add tests

* fix extra parameters in tests

* "fix" tests

* removed outdated test

* removed unused cdn dependency in signature.DefaultCalculator

* reduce diff

* Cache returned values

* Add support for deeply nested plugins (more than 1 hierarchy level)

* simplify cache usage

* refactor TestService_ModuleHash_Cache

* removed unused testdata

* re-generate feature toggles

* use version for module hash cache

* Renamed feature toggle to pluginsSriChecks and use it for both cdn and filesystem

* Removed app/types/system-integrity.d.ts

* re-generate feature toggles

* re-generate feature toggles

* feat(plugins): put systemjs integrity hash behind feature flag

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-10-04 14:55:09 +02:00
Levente Balogh
6096f46774 Plugin Extensions: Require meta-data to be defined in plugin.json during development mode (#93429)
* feat: add extensions to the backend plugin model

* feat: update the frontend plugin types

* feat(pluginContext): return a `null` if there is no context found

This will be necessary to understand if a certain hook is running inside a plugin context or not.

* feat: add utility functions for checking extension configs

* tests: fix failing tests due to the type updates

* feat(AddedComponentsRegistry): validate plugin meta-info

* feat(AddedLinksRegistry): validate  meta-info

* feat(ExposedComponentsRegistry): validate meta-info

* feat(usePluginComponent): add meta-info validation

* feat(usePluginComponents): add meta-info validation

* feat(usePluginLinks): add meta-info validation

* fix: only validate meta-info in registries if dev mode is enabled

* tests: add unit tests for the restrictions functionality

* tests: fix Go tests

* fix(tests): revert accidental changes

* fix: run goimports

* fix: api tests

* add nested app so that meta data can bested e2e tested

* refactor(types): extract the ExtensionInfo into a separate type

* refactor(extensions/utils): use Array.prototype.some() instead of .find()

* refactor(usePluginLinks): update warning message

* feat(usePluginExtensions()): validate plugin meta-info

* Wip

* fix(e2e): E2E tests for extensions

* fix(extensions): allow multiple "/" slashes in the extension point id

* fix(extensions/validators): stop validating the plugin id pattern

---------

Co-authored-by: Erik Sundell <erik.sundell87@gmail.com>
2024-10-04 08:41:26 +02:00
Marcus Efraimsson
b7a7f2bd62 Plugins: Use handler middleware from the SDK (#93445)
updates sdk to v0.251.0
2024-09-30 16:33:15 +02:00
Will Browne
52f8cecd4a Plugins: Add state logs for plugin client retrieval (#93630)
* add state to grpc plugin

* tidy

* fix lint

* fix issues

* return true

* use defer

* update err message
2024-09-24 15:55:02 +03:00
Will Browne
7cd546238b Revert "Plugins: Add logs for plugin proto client retrieval" (#93617)
Revert "Plugins: Add logs for plugin proto client retrieval (#93527)"

This reverts commit ccf6fbebfa.
2024-09-23 19:26:02 +03:00
Will Browne
ccf6fbebfa Plugins: Add logs for plugin proto client retrieval (#93527) 2024-09-20 17:36:11 +01:00
Andres Martinez Gotor
74b2d38e37 Chore: Update grafana-plugin-sdk (#93426) 2024-09-20 10:20:59 +02:00
Will Browne
ffbf6cf72d Plugins: Add test case for relative parent directory path (#93338)
add case for testing relative path
2024-09-13 18:30:19 +03:00