Selene
1181141b40
Schemas: Refactor plugin's metadata ( #83696 )
...
* Remove kinds verification for kind-registry
* Read plugin's json information with json library instead of use thema binding
* Remove grafanaplugin unification
* Don't use kindsys for extract the slot name
* Fix IsGroup
* Remove all plugindef generation
* Refactor schema interfaces
* Pushed this change from a different branch by mistake...
* Create small plugin definition structure adding additional information for plugins registration
* Add some validation checks
* Delete unused code
* Fix imports lint
2024-03-07 11:09:19 +01:00
Will Browne
5edd96ae77
Plugins: Refactor plugin config into separate env var and request scoped services ( #83261 )
...
* seperate services for env + req
* merge with main
* fix tests
* undo changes to golden file
* fix linter
* remove unused fields
* split out new config struct
* provide config
* undo go mod changes
* more renaming
* fix tests
* undo bra.toml changes
* update go.work.sum
* undo changes
* trigger
* apply PR feedback
2024-02-27 12:38:02 +01:00
Gabriel MABILLE
80d6bf6da0
AuthN: Remove embedded oauth server ( #83146 )
...
* AuthN: Remove embedded oauth server
* Restore main
* go mod tidy
* Fix problem
* Remove permission intersection
* Fix test and lint
* Fix TestData test
* Revert to origin/main
* Update go.mod
* Update go.mod
* Update go.sum
2024-02-26 11:29:09 +01:00
Yulia Shanyrova
9dcb7800de
Plugins: Add fuzzy search to plugins catalogue ( #81001 )
...
* WIP add fuzzysearch to plugins catalog
* Add keywords to the plugins listing output
* add fuzzy search to plugin catalog, add keywords to plugins at frontend side
* refactor fuzzysearch function after review
* review changes
* change the version of uFuzzy library
* change reduce result object in getPluginDetailsForFuzzySearch
* fix yarn lock error
* fix helpers tests
* fix frontend searching test
* fix frontend linting issues
* fix tests
---------
Co-authored-by: Esteban Beltran <esteban@academo.me >
Co-authored-by: Giuseppe Guerra <giuseppe@guerra.in >
2024-02-14 14:30:24 +01:00
Will Browne
788b9afda3
Plugins: Make it possible to support multiple plugin versions ( #82116 )
...
* first pass
* use version in more places
* add comment
* update installer
* fix wire
* fix tests
* tidy
* simplify changes
* fix in mem
* remove unused step
* fix step dupe logic for child plugins + add tests
2024-02-12 12:47:49 +01:00
Will Browne
99feb928cf
Plugins: Don't auto prepend app sub url to plugin asset paths ( #81658 )
...
* don't prepend app sub url to paths
* simplify logo path
* fix(plugins): dynamically prepend appSubUrl for System module resolving to work
* fix(sandbox): support dynamic appSuburl prepend when loading plugin module.js
* fix tests
* update test name
* fix tests
* update fe + add some tests
* refactor(plugins): move wrangleurl to utils, rename to resolveModulePath, update usage
* chore: fix a typo
* test(plugins): add missing name to utils test
* reset test flag
---------
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com >
2024-02-08 12:19:28 +01:00
Diego Augusto Molina
a6e27d1622
Chore: Fix plugins manager process data race in tests ( #81914 )
...
* Chore: synchronize writes to pkg.plugins.log.Logs to prevent data races in test code
* Chore: fix data race in tests in plugins process manager
* Chore: improve Logs method naming
* Chore: fix type change
2024-02-06 10:17:37 -03:00
Will Browne
3885497553
Plugins: Update renderer plugin source ( #80643 )
...
* rework renderer plugin source
* add tests
2024-01-18 11:06:33 +01:00
Ryan McKinley
1caaa56de0
FeatureFlags: Use interface rather than manager ( #80000 )
2024-01-09 10:38:06 -08:00
Giuseppe Guerra
c045a9f395
Plugins: Fix symlinks inside plugins path not being followed ( #80205 )
...
* Plugins: Loader: Fix symlinks not followed when loading external plugins
* Add test case
2024-01-09 14:23:03 +01:00
Will Browne
78ae795e06
Plugins: Fix loading of dist folders ( #80015 )
...
* end to end
* tidy
* fix whitespace
* remove unused code
* fix linter
* fix gosec + add sort
* fix test
* apply cr feedback
2024-01-08 11:45:03 +01:00
Will Browne
6ceab61bf8
Plugins: Support nested plugin signature validation on Windows ( #79467 )
...
* rework
* fix
* fix backend start
* fix tests
* fix
* print env
* enable CGO
* undo changes
* undo whitespace change
2023-12-19 11:56:40 +01:00
Will Browne
ef60c90dfa
Plugins: Make file system path handling in tests OS agnostic ( #79651 )
...
* make path handling OS agnostic
* PR feedback
* fix input for test case
2023-12-19 11:01:48 +01:00
Will Browne
ce8fd14f1f
Plugins: Make renderer service load renderer plugin ( #77854 )
...
* rendering service loads renderer plugin
* update naming
* tidy
* apply PR feedback
* fix missing feature manager
* fix step
* set plugin
2023-12-14 17:33:29 +01:00
Giuseppe Guerra
0d1d437c86
Plugins: Add forward_host_env_vars setting ( #79333 )
...
* Plugins: Add forward_host_env_vars_plugins setting
* Renamed forward_host_env_vars_plugins to forward_host_env_vars
* Add readPluginIDsList
* refactoring
* lint
* Use util.SplitString
2023-12-13 11:25:17 +02:00
Giuseppe Guerra
f76b9f266e
Plugins: Add hide_angular_deprecation setting ( #79296 )
...
* Add plugins.hide_angular_deprecation config ini
* Add more tests
* Remove the ability to use [plugins.*] hide_angular_deprecation
2023-12-12 11:20:21 +02:00
Gabriel MABILLE
5b70130e6c
Plugins: Rename externalServiceAuthentication to iam ( #78686 )
...
Plugins: Rename externalServiceAuthentication to iam
2023-12-04 13:14:21 +01:00
Andres Martinez Gotor
20f3a87bf5
Bug: Fix loading behavior with FlagExternalCorePlugins ( #78388 )
2023-11-21 11:51:13 +01:00
Giuseppe Guerra
027a157898
Plugins: Allow disabling "skip host environment variables" per-plugin ( #78266 )
...
* Plugins: Allow disabling skipping host environment variables per-plugin
* Renamed SkipEnvVarsDecorateFunc to SkipHostEnvVarsDecorateFunc
* PR review feedback
* fix tests
2023-11-17 16:12:05 +02:00
Ryan McKinley
f69fd3726b
FeatureToggles: Add context and and an explicit global check ( #78081 )
2023-11-14 12:50:27 -08:00
Will Browne
26bcfe300f
Plugins: Follow root level dist and siblings when walking file system ( #78042 )
...
* simplify
* add comments
* tidy up
* remove line
* update comment
* fix pfs test
* fix err import
* delete code
2023-11-14 10:31:46 +01:00
Gabriel MABILLE
fe8d0e6381
ExtSvcAuth: Refactor external service registry to use ExternalServiceRegistry variables ( #78056 )
...
ExtSvcAuth: Refactor external service registry to use ExternalServiceRegistry
2023-11-13 16:23:11 +01:00
Gabriel MABILLE
20a2840046
Plugin: Remove external service on plugin removal ( #77712 )
...
* Plugin: Remove external service on plugin removal
* Add feature flag check in the service registration service
* Initialize map
* Add HasExternalService as suggested
* Commit suggestion
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
* Nit on test.
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
---------
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
2023-11-13 13:18:13 +01:00
Giuseppe Guerra
da117aea1c
Plugins: Allow disabling angular deprecation UI for specific plugins ( #77026 )
...
* Plugins:Allow disabling angular deprecation UI for specific plugins
* add backend test
* changed test names
* lint
* Removed angular properties from DataSourceDTO
* Update tests
* Move angularDetected and hideAngularDeprecation in angularMeta property
* Fix angular property name in AppPluginConfig
* Fix reference to angularMeta.detected
* Fix hide_angular_deprecation not working for core plugins
* lint
2023-11-10 11:44:54 +01:00
Andres Martinez Gotor
d5f749482a
Ignore dist folder for core plugin ( #77549 )
2023-11-02 14:56:47 +01:00
Gabriel MABILLE
83e9088314
AuthN: Set oauth client grant_types based on plugin state ( #77248 )
...
* Disable plugin service account
* Fix bug seen by linoman 💯
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
* Account for PR feedback
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
* Fix test data
* Enable datasource plugins by default
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com >
* Update pkg/services/extsvcauth/oauthserver/oasimpl/service.go
* Handle error differently
* Fix service reg
---------
Co-authored-by: linoman <2051016+linoman@users.noreply.github.com >
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com >
2023-10-27 14:45:04 +02:00
Gabriel MABILLE
25b30aeb6d
Plugin: Enable service account based on plugin settings on init ( #77193 )
...
* Disable plugin service account
* Revert extsvc injection
* handle plugin state changes
* Use isProxyEnabled
* Remove plugininteg changes
* Change update function to also work for mysql 😩
* Plugin: enable service account based on plugin settings on
initialization
* Remove misleading comment
* Fix tests
* test message
* Clean up tests
* Simplify tests
* Re-order imports
* Remove unecessary comment
* Enable datasource plugins by default
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com >
---------
Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com >
2023-10-27 14:27:06 +02:00
Marcus Efraimsson
9bf7eb5fbc
Plugins: Adds logging around loading of plugins for better tracking ( #76896 )
2023-10-25 14:01:30 +02:00
Hugo Kiyodi Oshiro
dfc1875061
Plugins: Add managed instance installation resources ( #76767 )
...
* Plugins: Add configs to allow managed install
* Expose methods to use with cloud plugin installer
* Change plugins installer bind to OSS
2023-10-24 16:21:37 +02:00
Andres Martinez Gotor
d83142c513
Chore: Use externally built core plugins ( #76682 )
2023-10-20 13:12:58 +02:00
Gabriel MABILLE
797a3c57af
Plugins: Automatic service account (and token) setup ( #76473 )
...
* Update cue to have an AuthProvider entry
* Cable the new auth provider
* Add feature flag check to the accesscontrol service
* Fix test
* Change the structure of externalServiceRegistration (#76673 )
2023-10-17 16:21:23 +02:00
Giuseppe Guerra
f5076d1868
Plugins: Add status_source label to plugin request metrics ( #76236 )
...
* Plugins: Chore: Renamed instrumentation middleware to metrics middleware
* Removed repeated logger attributes in middleware and contextual logger
* renamed loggerParams to logParams
* PR review suggestion
* Add pluginsInstrumentationStatusSource feature toggle
* Plugin error source prometheus metrics
* Add error_source to logs
* re-generate feature toggles
* fix compilation issues
* remove unwanted changes
* Removed logger middleware changes, implement error source using context
* Renamed pluginmeta to pluginrequestmeta, changed some method names
* Fix comment
* pluginrequestmeta.go -> plugin_request_meta.go
* Replaced plugin request meta with status source
* Add tests for pluginrequestmeta status source
* Fix potential nil pointer dereference in instrmentation middleware
* Add metrics middleware tests
* Sort imports in clienttest.go
* Add StatusSourceFromContext test
* Add error_source label to plugin_request_duration_seconds
* Re-generate feature flags
* lint
* Use StatusSourcePlugin by default
* re-generate feature flags
2023-10-17 10:27:45 +02:00
Andres Martinez Gotor
157ea31b03
Build testdata frontend standalone ( #75833 )
2023-10-16 17:31:43 +02:00
Andres Martinez Gotor
1f8b08202e
Chore: Avoid showing plugin version if it's %VERSION% ( #75974 )
2023-10-11 10:49:30 +02:00
Marcus Efraimsson
90631360eb
Instrumentation: Handle context.Canceled ( #75867 )
...
Ref #68480
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com >
2023-10-10 12:28:39 +02:00
Giuseppe Guerra
cfcfbe4aaa
Plugins: Refactoring: Implement plugin instrumentation as a middleware ( #76011 )
...
* Plugins: Refactor instrumentation as plugin client middleware
* Simplify repeated code
* Fix compilation error
* Add comments
* Moved status and endpoint consts to utils.go
* Fix wrong endpoint name in CheckHealth InstrumentationMiddleware
* Add tests
* Fix wrong endpoint value in instrumentPluginRequestSize
* removed todo
* PR review feedback: use MustRegister
* PR review feedback: move tracing middleware before instrumentation middleware
* PR review feedback: removed decommissioned check
* PR review feedback: extract prometheus metrics into separate variables
2023-10-09 14:12:57 +02:00
Agnès Toulet
46c1c03183
Rendering: Fix Windows plugin signature check ( #76123 )
...
* Rendering: Fix Windows plugin signature check
* apply review feedback
2023-10-06 15:48:29 +02:00
Ryan McKinley
010b2461b9
Plugins: Move alias support to plugin json (but still hardcoded) ( #75129 )
2023-09-29 08:20:37 -07:00
Gabriel MABILLE
969e6a17ba
Plugins: Rename oauth package to auth ( #75611 )
...
* Plugins: Rename oauth package to auth
* Missed one comment
2023-09-28 12:18:09 +02:00
Andres Martinez Gotor
af8a46adbb
Bug Fix: Restore health check error ( #75508 )
2023-09-27 10:44:43 +03:00
Andres Martinez Gotor
1714fa598c
Chore: Refactor backend plugin errors ( #74928 )
2023-09-25 11:56:03 +02:00
Andres Martinez Gotor
c70623fb85
Chore: Rename testdata plugin with a fully qualified name ( #75104 )
2023-09-22 15:00:40 +03:00
Giuseppe Guerra
322fde1f5b
Plugins: Angular: Removed getLegacyAngularInjector Angular pattern ( #74862 )
...
Plugins: Angular: Removed getLegacyAngularInjector angular pattern
2023-09-18 11:50:45 +02:00
Giuseppe Guerra
7b75bc6999
Plugins: Angular detector: Log detection patterns at debug level ( #74802 )
...
* Plugins: Angular detector: Log detection patterns at debug level
* Add tests
2023-09-13 18:35:21 +02:00
Marcus Efraimsson
f70990d8eb
Plugins: Refactor instrumentation to logger middleware ( #74726 )
2023-09-12 17:33:48 +02:00
Andres Martinez Gotor
1a8a19a9ed
Chore: Avoid stopping plugin ( #74654 )
2023-09-12 10:34:12 +02:00
lean.dev
5e0b20266e
Licensing: Pass func to update env variables when starting plugin ( #74620 )
2023-09-11 09:33:10 -03:00
Will Browne
e855efb13d
Plugins: Move store and plugin dto to pluginsintegration ( #74655 )
...
move store and plugin dto
2023-09-11 13:59:24 +02:00
Marcus Efraimsson
8ee43f3705
Instrumentation: Add status_source label to request metrics/logs ( #74114 )
...
Ref #68480
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com >
2023-09-11 12:13:13 +02:00
Sven Grossmann
7e01dde762
Logging: Add WithContextualAttributes to pass log params based on the given context ( #74428 )
...
* suggestion to use `RegisterContextualLogProvider`
* add `pluginId`
* change to `WithContextualAttributes`
* move approach to instrumentation.go
* improve `WithContextualAttributes`
* unexport consts
* typo
* remove comment
* add `nil` check
2023-09-07 13:13:34 +02:00