Gabriel MABILLE and GitHub
b6b86bb0b3
RBAC: Check plugins:install globally ( #78438 )
...
* RBAC: Check plugins:install globally
* Add disclamer to the RBACSingleOrganization config option
2023-11-21 15:09:43 +01:00
Andres Martinez Gotor and GitHub
20f3a87bf5
Bug: Fix loading behavior with FlagExternalCorePlugins ( #78388 )
2023-11-21 11:51:13 +01:00
Giuseppe Guerra and GitHub
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
Giuseppe Guerra and GitHub
cb0a88a027
Plugins: Backend: Skip host environment variables ( #77858 )
...
* Add pluginsSkipHostEnvVars feature flag
* Set go-plugin's SkipHostEnvVar depending on feature flags
* add missing file
* Re-generate feature flags
* Add allowedHostEnvVarNames
* Fix feature toggles not being passed to plugin context service's plugin env vars
* Fix tests
* PR review feedback: Use cfg.Features
* Fix tests
* PR review feedback: removed DefaultProviderWithFeatures
* merge with master
* fix tests
* use features.IsEnabledGlobally
2023-11-15 18:09:14 +01:00
Ryan McKinley and GitHub
f69fd3726b
FeatureToggles: Add context and and an explicit global check ( #78081 )
2023-11-14 12:50:27 -08:00
580477bf8e
NGAlerting: Use identity.Requester interface instead of SignedInUser ( #76360 )
...
* unfurl SignedInUserAttrs services
* replace signedInUser with Requester
replace signedInUser with requester
* fix tests
* linting
---------
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com >
2023-11-14 14:47:34 +00:00
Giuseppe Guerra and GitHub
ab4fc07cc7
Plugins: Add statusSource to partial data response error log ( #78057 )
...
* Plugins: Add statusSource to partial data response error log
* Introduce DefaultStatusSource
* Add StatusSourceFromPluginErrorSource
* Moved StatusSourceFromPluginErrorSource
* Update pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go
2023-11-14 16:27:48 +02:00
Ryan McKinley and GitHub
dec9a07738
Settings: Actually deprecate access to feature flags ( #78073 )
2023-11-13 11:39:01 -08:00
Ryan McKinley and GitHub
3509a5abb9
FeatureFlags: Cleanup usage of cfg.IsFeatureToggleEnabled ( #78014 )
2023-11-13 07:55:15 -08:00
Gabriel MABILLE and GitHub
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
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
Gábor Farkas and GitHub
2d391c1bf5
postgresql: change plugin id ( #77444 )
...
* postgres: change plugin id
* fixed cue file
* codeowners update
* fixed backend test
2023-11-13 08:49:26 +01:00
Marcus Efraimsson and GitHub
c7442c0fd2
Instrumentation: Check embedded errors in query data response for plugin metrics/logs status label ( #77613 )
...
Check embedded errors in query data response for plugin metrics/logs status label.
Plugin Request Completed log messages are now logged with info level if status=ok,
otherwise error level.
Fixes #76769
2023-11-10 16:55:01 +01:00
Giuseppe Guerra and GitHub
7b4bcc86f1
Plugins: Pass OTEL sampling config to plugins ( #76834 )
...
* Pass OTEL sampling config to plugins
* fix capital letters
* Do not pass sampler env vars if sampling is not configured
* Add tests
* PR review feedback
* Simplify tracing env vars logic
* Update test to reflect pkg/infra/tracing behaviour
2023-11-10 14:56:08 +01:00
Hugo Kiyodi Oshiro and GitHub
e754c5a6c6
Plugins: Change managed plugins installation call ( #77120 )
2023-11-10 12:28:36 +01:00
Giuseppe Guerra and GitHub
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
Giuseppe Guerra and GitHub
46261de32d
Plugins: Fix status_source always being "plugin" in plugin request logs ( #77433 )
...
* Plugins: Fix status_source always being "plugin" in plugin logs
* add tests
* Fix TestInstrumentationMiddlewareStatusSource
2023-10-31 13:42:39 +01:00
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
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
Karl Persson and GitHub
bc9fab6f30
IDForwarding: Update settings name ( #77257 )
...
Update settings name
2023-10-27 10:20:49 +02:00
Giuseppe Guerra and GitHub
45bcbff115
Plugins: Fix plugin alias ID being used in PluginContext.ID ( #77206 )
...
* Fix PluginID being populated with alias in plugincontext Get and GetWithDataSource
* Add tests
* pr review suggestion
* pr review suggestion
2023-10-27 11:14:07 +03:00
Karl Persson and GitHub
1b6d39f823
IDForwarding: Require that id forwarding is enabled for data source ( #77131 )
...
* Require that id forwarding is enabled for data source
* Address feedback
2023-10-27 08:30:33 +02:00
Marcus Efraimsson and GitHub
9bf7eb5fbc
Plugins: Adds logging around loading of plugins for better tracking ( #76896 )
2023-10-25 14:01:30 +02:00
Hugo Kiyodi Oshiro and GitHub
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
Alexander Zobnin and GitHub
cad3c43bb1
Team LBAC: Move middleware to enterprise ( #76969 )
...
* Team LBAC: Move middleware to enterprise
* Remove ds proxy part
* Move utils to enterprise
2023-10-24 14:06:18 +03:00
Kyle Brandt and GitHub
59ef1558e8
Prometheus: (Chore) Switch to sdk tracing from infra tracing ( #76975 )
2023-10-23 13:11:12 -04:00
Giuseppe Guerra and GitHub
48a1dae834
Plugins: Add contextual logger to streaming methods in ContextualLoggerMiddleware ( #76761 )
2023-10-19 11:52:50 +02:00
872386b427
Instrumentation: Log errors embedded within query data responses ( #76285 )
...
Fixes #76140
Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com >
2023-10-18 11:59:36 +02:00
Gabriel MABILLE and GitHub
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
be5ba68132
Team LBAC: Add teamHeaders for datasource proxy requests ( #76339 )
...
* Add teamHeaders for datasource proxy requests
* adds validation for the teamHeaders
* added tests for applying teamHeaders
* remove previous implementation
* validation for header values being set to authproxy
* removed unnecessary checks
* newline
* Add middleware for injecting headers on the data source backend
* renamed feature toggle
* Get user teams from context
* Fix feature toggle name
* added test for validation of the auth headers and fixed evaluation to cover headers
* renaming of teamHeaders to teamHTTPHeaders
* use of header set for non-existing header and add for existing headers
* moves types into datasources
* fixed unchecked errors
* Refactor
* Add tests for data model
* Update pkg/api/datasources.go
Co-authored-by: Victor Cinaglia <victor@grafana.com >
* Update pkg/api/datasources.go
Co-authored-by: Victor Cinaglia <victor@grafana.com >
---------
Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com >
Co-authored-by: Victor Cinaglia <victor@grafana.com >
2023-10-17 11:23:54 +01:00
Giuseppe Guerra and GitHub
c4fefd8da9
Plugins: Add status_source label to plugin request logs ( #76676 )
2023-10-17 11:09:01 +02:00
Giuseppe Guerra and GitHub
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
Giuseppe Guerra and GitHub
50504ba008
Plugins: Chore: Renamed instrumentation middleware to metrics middleware ( #76186 )
...
* 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 contextual logger middleware
* Removed unused params from logRequest
* Removed unwanted changes
* Safer FromContext method
* Removed traceID from logParams
2023-10-11 12:42:32 +02:00
Andres Martinez Gotor and GitHub
1f8b08202e
Chore: Avoid showing plugin version if it's %VERSION% ( #75974 )
2023-10-11 10:49:30 +02:00
Giuseppe Guerra and GitHub
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
Gabriel MABILLE and GitHub
e902d8fd10
AuthN: New service to support multiple authentication providers for plugins ( #75979 )
...
* OnGoing
* Continue migrating structure
* Comment
* Add intermediary service
* Remove unused error so far
* no need for fmt use errors
* use RoleNone
* Docs
* Fix test
* Accounting for review feedback
* Rename oauthserver.ExternalService to OAuthClient
* Revert as the interface looks weird
* Update pluginintegration
* Rename oauthserver.ExternalService
* closer to what it was before
2023-10-05 18:13:06 +02:00
e087a8ab05
Azure monitor/remove graf tracing ( #75927 )
...
* trying to remove tracing
* trying to remove tracing
* use plugin sdk tracing
* tracing is not init
* add infra tracing back
* remove infra trace
* Update pkg/tsdb/azuremonitor/metrics/azuremonitor-datasource.go
Co-authored-by: Andreas Christou <andreas.christou@grafana.com >
* pr feedback
* remove code from other pr
---------
Co-authored-by: Andreas Christou <andreas.christou@grafana.com >
2023-10-05 02:38:26 +03:00
Gabriel MABILLE and GitHub
193ec8de2b
AuthN: Move oauthserver to extsvcauth ( #75972 )
...
* AuthN: Move oauthserver to extsvcauth
* Codeowners
2023-10-04 16:53:17 +02:00
Marcus Efraimsson and GitHub
e4c1a7a141
Tracing: Standardize on otel tracing ( #75528 )
2023-10-03 14:54:20 +02:00
Giuseppe Guerra and GitHub
cc9a4aa203
Plugins: Logger middleware: Fix wrong endpoint name for CheckHealth ( #75873 )
...
Plugins: Logger middleware: fix wrong endpoint name for CheckHealth
2023-10-03 13:13:06 +03:00
Karl Persson and GitHub
684d68365e
IDforwarding: forward signed id to plugins ( #75651 )
...
* Plugins: Add client middlware that forwards the signed grafana id token if present
* DsProxy: Set grafana id header if id token exists
* Add util function to apply id token to header
* Only add id forwarding middleware if feature toggle is enabled
* Add feature toggles to ds proxy and check if id forwarding is enabled
* Clean up test setup
* Change to use backend.ForwardHTTPHeaders interface
* PluginProxy: Forward signed identity when feature toggle is enabled
* PluginProxy: forrward signed id header
2023-10-02 09:14:10 +02:00
Ryan McKinley and GitHub
010b2461b9
Plugins: Move alias support to plugin json (but still hardcoded) ( #75129 )
2023-09-29 08:20:37 -07:00
Gabriel MABILLE and GitHub
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
Marcus Efraimsson and GitHub
0128d0403f
Tracing: Use tracing.InitializeTracerForTest ( #75479 )
2023-09-27 09:51:57 +02:00
Marcus Efraimsson and GitHub
534e3ebf0c
Plugins: Use a Grafana specific SDK tracer implementation for core plugins ( #75388 )
2023-09-26 14:46:31 +02:00
Andres Martinez Gotor and GitHub
ece94b1e01
Chore: Remove plugincontext.ErrPluginNotFound ( #74997 )
2023-09-25 13:10:47 +03:00
Andres Martinez Gotor and GitHub
c70623fb85
Chore: Rename testdata plugin with a fully qualified name ( #75104 )
2023-09-22 15:00:40 +03:00
Andres Martinez Gotor and GitHub
61cdfba87a
Feature: Allow to load a core plugin as external ( #75157 )
2023-09-22 10:50:13 +02:00
Will Browne and GitHub
7fca1bde54
Plugins: Set grafana config, plugin version and user agent on plugin requests ( #75171 )
...
* first pass
* fixup
* remove test line
* fix tests
* use new fields
* fix imports + formatting
* fix tests
* rollback changes
* undo whitespace
* apply pr feedback
2023-09-21 11:33:31 +02:00
Andrej Ocenas and GitHub
15e54df9f2
Pyroscope: Remove "phlare" from variable, types, strings etc ( #75140 )
2023-09-20 16:31:22 +02:00