Will Browne
758d9884bc
Plugins: Plugins loader pipeline ( #71438 )
...
* discovery
* flesh out
* add docs
* remove unused func
* bootstrap stage
* fix docs
* update docs
* undo unnecessary changes
* add end tag
* update doc
* fix linter
* fix
* tidy
* update docs
* add class to filter func
* apply PR feedback
* fix test
2023-07-27 15:29:13 +02:00
Kyle Brandt
ee60d8c82d
Azure: AzureMonitorMetrics - change response to be dataplane compliant ( #69308 )
...
* Azure: AzureMonitorMetrics - change response to be dataplane compliant
can be disabled via toggle azureMonitorDataplane
Co-authored-by: Andreas Christou <andreas.christou@grafana.com >
2023-07-24 16:50:49 +03:00
Will Browne
162dde5bdd
Plugins: Use suffix for plugin directory ( #71375 )
...
* plugin dir suffix
* fix whitespace
* fix cli
* fix tests
* fixup
* simplify
* undo uninstall changes
2023-07-14 11:49:05 +02:00
Andres Martinez Gotor
9990d5025d
Chore: Embed CSV files with the test data source ( #71435 )
2023-07-13 09:34:40 +02:00
Will Browne
1274979f3f
Plugins: Remove unused config field from SignatureCalculator ( #71297 )
...
remove unused cfg field
2023-07-11 08:52:02 +02:00
Andres Martinez Gotor
4ff0abd0d1
SaveExternalService (OAuth) on plugin load ( #69764 )
2023-06-26 16:38:43 +02:00
Giuseppe Guerra
cca9d89733
Plugins: Angular detector: Remote patterns fetching ( #69843 )
...
* Plugins: Angular detector: Remote patterns fetching
* Renamed PatternType to GCOMPatternType
* Renamed files
* Renamed more files
* Moved files again
* Add type checks, unexport GCOM structs
* Cache failures, update log messages, fix GCOM URL
* Fail silently for unknown pattern types, update docstrings
* Fix tests
* Rename gcomPattern.Value to gcomPattern.Pattern
* Refactoring
* Add FlagPluginsRemoteAngularDetectionPatterns feature flag
* Fix tests
* Re-generate feature flags
* Add TestProvideInspector, renamed TestDefaultStaticDetectorsInspector
* Add TestProvideInspector
* Add TestContainsBytesDetector and TestRegexDetector
* Renamed getter to provider
* More tests
* TestStaticDetectorsProvider, TestSequenceDetectorsProvider
* GCOM tests
* Lint
* Made detector.detect unexported, updated docstrings
* Allow changing grafana.com URL
* Fix API path, add more logs
* Update tryUpdateRemoteDetectors docstring
* Use angulardetector http client
* Return false, nil if module.js does not exist
* Chore: Split angualrdetector into angularinspector and angulardetector packages
Moved files around, changed references and fixed tests:
- Split the old angulardetector package into angular/angulardetector and angular/angularinspector
- angulardetector provides the detection structs/interfaces (Detector, DetectorsProvider...)
- angularinspector provides the actual angular detection service used directly in pluginsintegration
- Exported most of the stuff that was private and now put into angulardetector, as it is not required by angularinspector
* Renamed detector.go -> angulardetector.go and inspector.go -> angularinspector.go
Forgot to rename those two files to match the package's names
* Renamed angularinspector.ProvideInspector to angularinspector.ProvideService
* Renamed "harcoded" to "static" and "remote" to "dynamic"
from PR review, matches the same naming schema used for signing keys fetching
* Fix merge conflict on updated angular patterns
* Removed GCOM cache
* Renamed Detect to DetectAngular and Detector to AngularDetector
* Fix call to NewGCOMDetectorsProvider in newDynamicInspector
* Removed unused test function newError500GCOMScenario
* Added angularinspector service definition in pluginsintegration
* Moved dynamic inspector into pluginsintegration
* Move gcom angulardetectorsprovider into pluginsintegration
* Log errUnknownPatternType at debug level
* re-generate feature flags
* fix error log
2023-06-26 15:33:21 +02:00
Will Browne
a221e1d226
Plugins: Standardize Golang enum naming convention ( #69449 )
...
* standardize enum pattern
* fix up
2023-06-08 12:21:19 +02:00
Giuseppe Guerra
f148b5fb28
Plugins: Forbid loading Angular plugins when Angular is disabled ( #69679 )
...
* Plugins: Forbid loading Angular plugins when Angular is disabled
* Plugins: Made angulardetector a service, add tests for angular loader cases
* Fix missing import
* Add nolint:gocyclo to loadPlugins
2023-06-07 11:08:01 +02:00
Ryan McKinley
e17ef5e504
Pyroscope: Rename phlare to grafana-pyroscope-datasource ( #68859 )
2023-06-07 06:09:29 +03:00
Giuseppe Guerra
7a132680ef
Revert "Plugins: Forbid loading Angular plugins when Angular is disabled ( #69225 )" ( #69657 )
...
This reverts commit ff34279ff4 .
2023-06-06 18:09:41 +02:00
Giuseppe Guerra
ff34279ff4
Plugins: Forbid loading Angular plugins when Angular is disabled ( #69225 )
...
* Plugins: Forbid loading Angular plugins when Angular is disabled
* Plugins: Made angulardetector a service, add tests for angular loader cases
* Fix missing import
2023-06-06 17:14:31 +02:00
Marcus Efraimsson
dcc1169ab2
Chore: Remove unused code/dependencies in testdata datasource ( #69386 )
2023-06-05 11:34:02 +02:00
Andreas Christou
108acee08e
CloudMonitoring: Initial GCM Schema ( #67739 )
...
* Initial GCM schema work
- Split types for convenience
- Update conditionals where needed
- Update type references
* Add additional supporting types
* Add some more accessory and legacy types
* Add missing type
* Rename backend folder
* Add missing generated file
* Review
2023-05-22 17:19:54 +01:00
Nathan Marrs
8390fcc80f
Chore: Remove alpha icon panel ( #68573 )
2023-05-16 10:32:25 -07:00
Andrej Ocenas
8da90f624d
Pyroscope: Add authentication when calling backendType resource API ( #67667 )
2023-05-11 16:07:49 +02:00
Andres Martinez Gotor
aa9838bd25
Chore: Refactor manifest verifier ( #67218 )
2023-04-27 17:54:28 +02:00
Giuseppe Guerra
bfe1b68800
Plugins: Fs: Add option to access unallowed files in dev mode ( #66492 )
...
* Plugins: Fs: Add option to access unallowed files in dev mode
* Plugins: Fs: allow accessing unallowed files only when in dev mode
* Plugins: Fs: Add ProvideLocalFinder
* Plugins: FS: Pass whole config in NewLocalFinder()
* Plugins: FS: Add AllowListLocalFS
* Plugins: FS: Fix some tests
* Plugins: FS: Update tests
* Plugins: FS: Removed dead code
* Plugins: FS: Add tests for AllowListFS
* Plugins: FS: Update comments
* Plugins: FS: Use variadic arguments for allow list rather than map
* Plugins: FS: Remove unnecessary log
* Plugins: FS: Do not escape plugin root dir
* Fix merge conflict
* Plugins: FS: Update comments
* Plugins: FS: PR review changes
* Fix merge conflict
* Fix tests
* Cleanup
* Fix flaky test
* Changes from PR review
* Lint
* Add comment to LocalFS.Remove
* Fix Windows
* Renamed devMode to production
2023-04-27 10:26:15 +02:00
Andres Martinez Gotor
9d7c3a101d
Chore: Use KVStore for the manifest public key ( #66839 )
2023-04-25 13:01:49 +02:00
Victor Marin
efd0e9cbea
Datagrid Panel: Edit data within your dashboards ( #66353 )
...
* wip
* Datagrid WIP: snapshotting when data edited, better UI for adding column/rows, refactors
* wip
* WIP
* wip
* Add series selector
* Delete selection on key press
* wip
* Multiple row select and delete
* wip
* draggable rows/columns, better column width calculator
* bug fixes
* scrollbars
* add feature flag
* bugfixes
* bugfixes
* bugfixes
* bugfixes
* Add possibility to rename column
* Input fixes
* bugfixes
* bugfixes
* performance optimisations
* WIP component refactoring and optimisations
* comment bit of code to remove error for testing
* fix column move and payload types
* WIP refactors and tests
* e2e tests
* queryGroup subscription refactor
* queryGroup - add component on update, fix failing tests
* refactor querygroup
* querygroup refactor
* tests
* fix codeowners validation
* lint fixes
* revert convertFieldType modification in favor of already merged mod + re-add mistakenly deleted line
* remove //ts-ignores
* Minor style tweaks
* fix
* align colors with theme
* fixes
* refactor
* add test for convertFieldType transformer and write todo
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com >
2023-04-24 17:46:31 +03:00
Andres Martinez Gotor
98c695c68f
Chore: Use Grafana API to retrieve the public key to validate plugins ( #66439 )
2023-04-18 16:12:05 +02:00
Will Browne
bff9f4c890
Plugins: Move config factory to pluginsintegration package ( #65716 )
...
* move config to pluginsintegration package
* change to all plugin toggle
* fixes
* fixes
* fix lerna
* fix test
2023-04-05 14:40:08 +02:00
Ryan McKinley
d974e5f25a
TrendPanel: Add new trend panel (Alpha) ( #65740 )
2023-04-04 20:52:20 -07:00
Will Browne
819c2f4ad8
Plugins: Remove unnecessary CDN code ( #65929 )
...
remove unnecessary code
2023-04-04 17:01:49 +02:00
Giuseppe Guerra
09078b14e1
Plugins: Support for distributed tracing in backend plugins SDK ( #63714 )
...
* Tracing: Pass OTLP address and propagation format to plugins
* Fix unit tests
* Fix indentation
* Fix plugin manager integration tests
* Goimports
* Pass plugin version to plugins
* Do not add GF_PLUGIN_VERSION if plugin version is not set, add tests
* Allow disabling plugins distributed tracing on a per-plugin basis
* Moved disabled plugins to tracing.opentelemetry config section
* Pre-allocate DisabledPlugins map to the correct size
* Moved disable tracing setting flags in plugin settings
* Renamed plugin env vars for tracing endpoint and propagation
* Fix plugin initializer tests
* Refactoring: Moved OpentelemetryCfg from pkg/infra to pkg/plugins
* Changed GetSection to Section in parseSettingsOpentelemetry
* Add tests for NewOpentelemetryCfg
* Fix test case names in TestNewOpentelemetryCfg
* OpenTelemetry: Remove redundant error checks
2023-03-30 23:31:14 +02:00
Will Browne
31d6416157
Plugins: Migrate licensing and access control to pkg/services/pluginsintegration package ( #65258 )
...
* migrate licensing + access control
* update package name
2023-03-27 11:15:37 +02:00
Artur Wierzbicki
4274b9414f
Chore: remove querylibrary feature toggle ( #65021 )
...
* chore: remove querylibrary
* chore: remove querylibrary
* chore: remove querylibrary
2023-03-20 20:00:14 +04:00
Will Browne
ee2dd62a1f
Plugins: Refactor loader + finder to support multiple sourcing methods ( #64735 )
...
* it's cdn time
* tidy body closing
* auto signed
* fix close
* update log name
* remove comments
2023-03-20 14:35:49 +01:00
Will Browne
68df83c86d
Plugins: Add Plugin FS abstraction ( #63734 )
...
* unexport pluginDir from dto
* first pass
* tidy
* naming + add mutex
* add dupe checking
* fix func typo
* interface + move logic from renderer
* remote finder
* remote signing
* fix tests
* tidy up
* tidy markdown logic
* split changes
* fix tests
* slim interface down
* fix status code
* tidy exec path func
* fixup
* undo changes
* remove unused func
* remove unused func
* fix goimports
* fetch remotely
* simultaneous support
* fix linter
* use var
* add exception for gosec warning
* fixup
* fix tests
* tidy
* rework cfg pattern
* simplify
* PR feedback
* fix dupe field
* remove g304 nolint
* apply PR feedback
* remove unnecessary gosec nolint
* fix finder loop and update comment
* fix map alloc
* fix test
* remove commented code
2023-03-07 16:47:02 +01:00
Will Browne
ab8de1a0e3
Plugins: Add simple plugin sources service ( #63814 )
...
add simple plugin sources svc
2023-02-28 15:27:11 +01:00
Ieva
49ccae7489
RBAC: cascaded nested folder permissions for search v2 ( #62608 )
...
* fetch inherited folder scopes for search v2
* fix error and don't fetch parents for the general folder
* remove feature toggle check and lower log level
2023-02-06 17:38:15 +00:00
Giuseppe Guerra
af1e2d68da
Plugins: Allow loading panel plugins from a CDN ( #59096 )
...
* POC: Plugins CDN reverse proxy
* CDN proxy POC: changed env var names
* Add authorization: false for /public path in frontend plugin loader
* Moved CDN settings to Cfg, add some comments
* Fix error 500 in asset fetch if plugin is not using CDN
* Fix EnterpriseLicensePath declared twice
* Fix linter complaining about whitespaces
* Plugins CDN: Skip signature verification for CDN plugins
* Plugins CDN: Skip manifest and signature check for cdn plugins
* Plugins: use IsValid() and IsInternal() rather than equality checks
* Plugins CDN: remove comment
* Plugins CDN: Fix seeker can't seek when serving plugins from local fs
* Plugins CDN: add back error codes in getLocalPluginAssets
* Plugins CDN: call asset.Close() rather than asset.readSeekCloser.Close()
* Plugins CDN: Fix panic in JsonApiErr when errorMessageCoder wraps a nil error
* Plugins CDN: Add error handling to proxyCDNPluginAsset
* Plugins CDN: replace errorMessageCoder with errutil
* Plugins CDN POC: expose cdn plugin paths to frontend for system.js
* Plugins CDN: Fix cdn plugins showing as unsigned in frontend
* WIP: Add support for formatted URL
* Fix missing cdnPluginsBaseURLs in GrafanaConfig
* Plugins CDN: Remove reverse proxy mode and reverse proxy references
* Plugins CDN: Simplify asset serving logic
* Plugins CDN: sanitize redirect path
* Plugins CDN: Removed unused pluginAsset type
* Plugins CDN: Removed system.js changes
* Plugins CDN: Return different system.js baseURL and module for cdn plugins
* Plugins CDN: Ensure CDN is disabled for non-external plugins
* lint
* Plugins CDN: serve images and screenshots from CDN, refactoring
* Lint
* Plugins CDN: Fix URLs for system.js (baseUrl and module)
* Plugins CDN: Add more tests for RelativeURLForSystemJS
* Plugins CDN: Iterate only on apps when preloading
* Plugins CDN: Refactoring
* Plugins CDN: Add comments to url_constructor.go
* Plugins CDN: Update defaultHGPluginsCDNBaseURL
* Plugins CDN: undo extract meta from system js config
* refactor(plugins): migrate systemjs css plugin to typescript
* feat(plugins): introduce systemjs cdn loader plugin
* feat(plugins): add systemjs load type
* Plugins CDN: Removed RelativeURLForSystemJS
* Plugins CDN: Log backend redirect hits along with plugin info
* Plugins CDN: Add pluginsCDNBasePath to getFrontendSettingsMap
* feat(plugins): introduce cdn loading for angular plugins
* refactor(plugins): move systemjs cache buster into systemjsplugins directory
* Plugins CDN: Rename pluginsCDNBasePath to pluginsCDNBaseURL
* refactor(plugins): introduce pluginsCDNBaseURL to the frontend
* Plugins CDN: Renamed "cdn base path" to "cdn url template" in backend
* Plugins CDN: lint
* merge with main
* Instrumentation: Add prometheus counter for backend hits, log from Info to Warn
* Config: Changed key from plugins_cdn.url to plugins.plugins_cdn_base_url
* CDN: Add backend tests
* Lint: goimports
* Default CDN URL to empty string,
* Do not use CDN in setImages and module if the url template is empty
* CDN: Backend: Add test for frontend settings
* CDN: Do not log missing module.js warn if plugin is being loaded from CDN
* CDN: Add backend test for CDN plugin loader
* Removed 'cdn' signature level, switch to 'valid'
* Fix pfs.TestParseTreeTestdata for cdn plugin testdata dir
* Fix TestLoader_Load
* Fix gocyclo complexity of loadPlugins
* Plugins CDN: Moved prometheus metric to api package, removed asset_path label
* Fix missing in config
* Changes after review
* Add pluginscdn.Service
* Fix tests
* Refactoring
* Moved all remaining CDN checks inside pluginscdn.Service
* CDN url constructor: Renamed stringURLFor to stringPath
* CDN: Moved asset URL functionality to assetpath service
* CDN: Renamed HasCDN() to IsEnabled()
* CDN: Replace assert with require
* CDN: Changes after review
* Assetpath: Handle url.Parse error
* Fix plugin_resource_test
* CDN: Change fallback redirect from 302 to 307
* goimports
* Fix tests
* Switch to contextmodel.ReqContext in plugins.go
Co-authored-by: Will Browne <will.browne@grafana.com >
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com >
2023-01-27 15:08:17 +01:00
Will Browne
c54aa18cd8
Plugins: Add tailored interface for plugins licensing needs ( #61045 )
...
* tailored licensing service
* appease linter
* fix
* retrigger
2023-01-18 18:02:54 +01:00
Will Browne
76233f9997
Plugins: Unexport PluginDir field from PluginDTO ( #59190 )
...
* unexport pluginDir from dto
* more err checks
* tidy
* fix tests
* fix dboard file tests
* fix import
* fix tests
* apply PR feedback
* combine interfaces
* fix logs and clean up test
* filepath clean
* use fs.File
* rm explicit type
2022-12-02 13:46:55 +01:00
Ryan McKinley
0a7a5b13fe
Heatmap: Remove legacy angular based implementation ( #59249 )
...
remove angular heatmap
2022-11-23 10:46:21 -08:00
Gabriel MABILLE
30fae33f66
RBAC: Allow role registration for plugins ( #57387 )
...
* Picking role registration from OnCall POC branch
* Fix test
* Remove include actions from this PR
* Removing unused permission
* Adding test to DeclarePluginRoles
* Add testcase to RegisterFixed role
* Additional test case
* Adding tests to validate plugins roles
* Add test to plugin loader
* Nit.
* Scuemata validation
* Changing the design to decouple accesscontrol from plugin management
Co-authored-by: Kalle Persson <kalle.persson@grafana.com >
* Fixing tests
Co-authored-by: Jguer <joao.guerreiro@grafana.com >
* Add missing files
Co-authored-by: Jguer <joao.guerreiro@grafana.com >
* Remove feature toggle check from loader
* Remove feature toggleimport
* Feedback
Co-Authored-By: marefr <marcus.efraimsson@gmail.com >
* Fix test'
* Make plugins.RoleRegistry interface typed
* Remove comment question
* No need for json tags anymore
* Nit. log
* Adding the schema validation
* Remove group to take plugin Name instead
* Revert sqlstore -> db
* Nit.
* Nit. on tests
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com >
* Update pkg/services/accesscontrol/plugins.go
Co-authored-by: Ieva <ieva.vasiljeva@grafana.com >
* Log message
Co-Authored-By: marefr <marcus.efraimsson@gmail.com >
* Log message
Co-Authored-By: marefr <marcus.efraimsson@gmail.com >
* Remove unecessary method. Update test name.
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com >
* Fix linting
* Update cue descriptions
* Fix test
Co-authored-by: Kalle Persson <kalle.persson@grafana.com >
Co-authored-by: Jguer <joao.guerreiro@grafana.com >
Co-authored-by: marefr <marcus.efraimsson@gmail.com >
Co-authored-by: ievaVasiljeva <ieva.vasiljeva@grafana.com >
2022-11-07 11:30:45 +01:00
Dan Cech
9ea6a43089
Build: clean up and document integration test convention ( #58170 )
...
* clean up and document integration test convention
* clarify integration test conventions
* clean up integration tests that don't follow convention
* mark testIntegration* functions as helpers to avoid confusion
2022-11-04 10:14:21 -04:00
Giuseppe Guerra
7996a1c8ad
Chore: Update grafana-plugin-sdk-go to v0.142.0 ( #58115 )
...
* Chore: Update grafana-plugin-sdk-go to v0.142.0
* Update tests and golden files for 207 status code
* Chore: Move update flag definition at the top in response_parser_test.go
* retrigger
Co-authored-by: Will Browne <will.browne@grafana.com >
2022-11-03 18:34:27 +01:00
Carl Bergquist
06705a49e2
Instrumentation: Log plugin and datasource info for each plugin request. ( #54769 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com >
2022-11-02 14:51:51 +01:00
Andrej Ocenas
0845ac2f53
Profiling: Add Phlare and Parca datasources ( #57809 )
...
* Add phlare datasource
* Rename
* Add parca
* Add self field to parca
* Make sure phlare works with add to dashboard flow
* Add profiling category and hide behind feature flag
* Update description and logos
* Update phlare icon
* Cleanup logging
* Clean up logging
* Fix for shift+enter
* onRunQuery to set label
* Update type naming
* Fix lint
* Fix test and quality issues
Co-authored-by: Joey Tawadrous <joey.tawadrous@grafana.com >
2022-10-28 13:33:37 +02:00
Kristin Laemmert
05709ce411
chore: remove sqlstore & mockstore dependencies from (most) packages ( #57087 )
...
* chore: add alias for InitTestDB and Session
Adds an alias for the sqlstore InitTestDB and Session, and updates tests using these to reduce dependencies on the sqlstore.Store.
* next pass of removing sqlstore imports
* last little bit
* remove mockstore where possible
2022-10-19 09:02:15 -04:00
Artur Wierzbicki
bf264d2f76
Query library: requiresDevMode dummy backend ( #56466 )
...
* query library - dummy backend
* fix tests
* dont explicitly marshall backend dataresponse
* skip integration tests
* null check for tests
* added query library to codeowners
* null check for tests
* lint
2022-10-07 11:31:45 -07:00
Joey Tawadrous
74c809f544
Plugins: Introduce new Flame graph panel ( #56376 )
...
* Flamegraph
* Updated flame graph width/height values
* Fix top table rendering issue
* Add feature toggle for flamegraph in explore
* Update tests
* Hide flamegraph from dash panel viz list if feature toggle not enabled
* Show table if no flameGraphFrames
* Add flame graph to testdata ds
* Minor improvement
2022-10-07 11:39:14 +01:00
Will Browne
1038ac7308
DataSources: Remove unused cfg from core Grafana data source ( #56188 )
...
* remove unused cfg from grafana ds
* fix test
2022-10-04 06:32:25 -04:00
Will Browne
4087ad413f
re-use fake trace + feature toggles ( #56186 )
2022-10-04 10:15:10 +02:00
Kristin Laemmert
701f6d5436
UserService: use the UserService instead of calling sqlstore directly ( #55745 )
...
* UserService: update callers to use the UserService instead of calling sqlstore directly
There is one major change hiding in this PR. UserService.Delete originally called a number of services to delete user-related records. I moved everything except the actual call to the user table, and moved those into the API. This was done to avoid dependencies cycles; many of our services depend on the user service, so the user service itself should have as few dependencies as possible.
2022-09-27 07:58:49 -04:00
Will Browne
d0d8544ded
Plugins: Create single point of entry for adding / removing plugins ( #55463 )
...
* split out plugin manager
* remove whitespace
* fix tests
* split up tests
* updating naming conventions
* simplify manager
* tidy
* explorations
* fix build
* tidy
* fix tests
* add logger helper
* pass the tests
* tidying
* fix tests
* tidy and re-add test
* store depends on loader
* enrich tests
* fix test
* undo gomod changes
2022-09-23 14:27:01 +02:00
Artur Wierzbicki
03af63d52e
SearchV2: add tracing to background jobs ( #55250 )
...
* searchv2: add tracing to background jobs
* searchv2: lint
* searchv2: lint
* searchv2: fix context passing
* searchv2: add init org index span
* searchv2: add traceid to logs
* searchv2: add db count to logs
2022-09-20 16:49:44 +02:00
idafurjes
7ce7c9b64c
Chore: Move SearchOrgs to org service ( #55416 )
...
* Chore: Move SearchOrgs to org service
* Fix lint
* Fix lint 2
2022-09-20 09:55:40 +02:00
Will Browne
0571d98bba
[WIP] Plugins: Introduce Plugins specific config ( #54854 )
2022-09-14 14:35:35 +01:00