a221e1d226
Plugins: Standardize Golang enum naming convention ( #69449 )
...
* standardize enum pattern
* fix up
2023-06-08 12:21:19 +02:00
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
e17ef5e504
Pyroscope: Rename phlare to grafana-pyroscope-datasource ( #68859 )
2023-06-07 06:09:29 +03:00
7a132680ef
Revert "Plugins: Forbid loading Angular plugins when Angular is disabled ( #69225 )" ( #69657 )
...
This reverts commit ff34279ff43a8660e8445c8f320390ed61bcd0e8.
2023-06-06 18:09:41 +02:00
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
dcc1169ab2
Chore: Remove unused code/dependencies in testdata datasource ( #69386 )
2023-06-05 11:34:02 +02:00
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
8390fcc80f
Chore: Remove alpha icon panel ( #68573 )
2023-05-16 10:32:25 -07:00
8da90f624d
Pyroscope: Add authentication when calling backendType resource API ( #67667 )
2023-05-11 16:07:49 +02:00
aa9838bd25
Chore: Refactor manifest verifier ( #67218 )
2023-04-27 17:54:28 +02:00
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
9d7c3a101d
Chore: Use KVStore for the manifest public key ( #66839 )
2023-04-25 13:01:49 +02:00
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
98c695c68f
Chore: Use Grafana API to retrieve the public key to validate plugins ( #66439 )
2023-04-18 16:12:05 +02:00
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
d974e5f25a
TrendPanel: Add new trend panel (Alpha) ( #65740 )
2023-04-04 20:52:20 -07:00
819c2f4ad8
Plugins: Remove unnecessary CDN code ( #65929 )
...
remove unnecessary code
2023-04-04 17:01:49 +02:00
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
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
4274b9414f
Chore: remove querylibrary
feature toggle ( #65021 )
...
* chore: remove querylibrary
* chore: remove querylibrary
* chore: remove querylibrary
2023-03-20 20:00:14 +04:00
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
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
ab8de1a0e3
Plugins: Add simple plugin sources service ( #63814 )
...
add simple plugin sources svc
2023-02-28 15:27:11 +01:00
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
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
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
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
0a7a5b13fe
Heatmap: Remove legacy angular based implementation ( #59249 )
...
remove angular heatmap
2022-11-23 10:46:21 -08:00
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
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
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
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
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
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
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
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
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
4087ad413f
re-use fake trace + feature toggles ( #56186 )
2022-10-04 10:15:10 +02:00
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
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
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
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
0571d98bba
[WIP] Plugins: Introduce Plugins specific config ( #54854 )
2022-09-14 14:35:35 +01:00
4a707e2a88
Plugins: Split plugin manager into smaller components ( #54384 )
...
* split out plugin manager
* remove whitespace
* fix tests
* split up tests
* updating naming conventions
* simplify manager
* tidy
* add more fakes
* testing time
* add query verif to int test
* renaming
* add process tests
* tidy up manager tests
* add extra case to int test
* add more coverage to store and process tests
* remove comment
* fix capatilization
* init on provide
* remove addfromsource from API
2022-08-30 17:30:43 +02:00
26dfdd5af3
Plugins: Refactor plugin download/installation ( #43046 )
...
* installer -> repo
* add semver format checking
* add plugin callbacks in test
* remove newline
* post install only scans new directories
* remove unused stuff
* everything in own package
* add missing cli params
* make grafana version part of the API
* resolve conflicts
* tidy up logger
* fix cli and tidy log statements
* rename log package
* update struct name
* fix linter issue
* fs -> filestore
* reorder imports
* alias import
* fix test
* fix test
* inline var
* revert jsonc file
* make repo dep of manager
* actually inject the thing
* accept all args for compatability checks
* accept compat from store
* pass os + arch vals
* don't inject fs
* tidy up
* tidy up
* merge with main and tidy fs storage
* fix test
* fix packages
* fix comment + field name
* update fs naming
* fixed wire
* remove unused func
* fix mocks
* fix storage test
* renaming
* fix log line
* fix test
* re-order field
* tidying
* add test for update with same version
* fix wire for CLI
* remove use of ioutil
* don't pass field
* small tidy
* ignore code scanning warn
* fix testdata link
* update lgtm code
2022-08-23 11:50:50 +02:00
5975c4bc6d
RBAC: Allow app plugins access restriction ( #51524 )
...
* RBAC: Allow app plugins restriction
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
* Fix tests
* Imports
* WIP
* Adding RBAC to AppPluginsRoutes
* Switching middleware order
* Restrict access to resources
* Nit
* Cosmetic changes
* Fix fallback
* Moving declaration to HttpServer
Co-Authored-By: marefr <marcus.efraimsson@gmail.com>
Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
Co-authored-by: marefr <marcus.efraimsson@gmail.com>
2022-07-08 13:24:09 +02:00
dd5a3b7747
Heatmap: Replace the heatmap panel with new implementation ( #50229 )
2022-06-23 11:48:28 -07:00
8fd9cb4854
loki: add feature-toggle check to live-mode ( #49012 )
2022-06-13 08:33:46 +02:00
7536647ab6
Plugins: Introduce Plugin Registry ( #47200 )
...
* introduce registry write/read separation
* internal + external registries
* fix tests
* fixup
* rename
* move interfaces
* back to plugins.Store
* fix registry name
* remove context.TODOs
* remove some ctx for now
* tidy
* remove dupe logic
* update naming
* move from manager.go to store
* amend logger name
* new store writer svc
* restrict changes
* more simplifying
* move interfaces around
* remove unused
* fix linter
* tidy
* add registry test
* fix tests
* revert testdata changes
* revert testdata changes #1
* revert testdata changes #2
* revert testdata changes #3
* revert testdata changes #4
* revert testdata changes #5
* revert testdata changes
* fixup testdata
* remove unused log
* update naming in test
* adjust ctx in test
2022-06-03 13:06:27 +02:00
09634b518c
Traces Panel: Add new Traces Panel visualization ( #47534 )
...
* Panel
* Support tempo dash variables
* Support tempo explore variables
* Only show span links for explore
* Cleanup
* Added tests
* apply variables to search
* Tests for search variables
* Handling no data
* Interpolation and tests
* TracesPanel tests
* More tests
* Fix for backend test
* Manager integration test fix
* Traces doc and updated visualizations index doc
* Logs for this span
* Search, scrollToTop, other improvements
* Refactor to extract common code
* Removed TopOfViewRefType optional
* Remove topOfViewRef optional
* Removed another optional and fixed tests
* Test
* Only show search bar if trace
* Support traces panel in add to dashboard
* Self review
* Update betterer
* Linter fixes
* Updated traces doc
* Ahh, moved the for more info too
* Updated betterer.results
* Added new icon
* Updated expectedListResp.json
2022-05-03 17:42:36 +01:00