Will Browne
b80fbe03f0
Plugins: Refactor Plugin Management ( #40477 )
...
* add core plugin flow
* add instrumentation
* move func
* remove cruft
* support external backend plugins
* refactor + clean up
* remove comments
* refactor loader
* simplify core plugin path arg
* cleanup loggers
* move signature validator to plugins package
* fix sig packaging
* cleanup plugin model
* remove unnecessary plugin field
* add start+stop for pm
* fix failures
* add decommissioned state
* export fields just to get things flowing
* fix comments
* set static routes
* make image loading idempotent
* merge with backend plugin manager
* re-use funcs
* reorder imports + remove unnecessary interface
* add some TODOs + remove unused func
* remove unused instrumentation func
* simplify client usage
* remove import alias
* re-use backendplugin.Plugin interface
* re order funcs
* improve var name
* fix log statements
* refactor data model
* add logic for dupe check during loading
* cleanup state setting
* refactor loader
* cleanup manager interface
* add rendering flow
* refactor loading + init
* add renderer support
* fix renderer plugin
* reformat imports
* track errors
* fix plugin signature inheritance
* name param in interface
* update func comment
* fix func arg name
* introduce class concept
* remove func
* fix external plugin check
* apply changes from pm-experiment
* fix core plugins
* fix imports
* rename interface
* comment API interface
* add support for testdata plugin
* enable alerting + use correct core plugin contracts
* slim manager API
* fix param name
* fix filter
* support static routes
* fix rendering
* tidy rendering
* get tests compiling
* fix install+uninstall
* start finder test
* add finder test coverage
* start loader tests
* add test for core plugins
* load core + bundled test
* add test for nested plugin loading
* add test files
* clean interface + fix registering some core plugins
* refactoring
* reformat and create sub packages
* simplify core plugin init
* fix ctx cancel scenario
* migrate initializer
* remove Init() funcs
* add test starter
* new logger
* flesh out initializer tests
* refactoring
* remove unused svc
* refactor rendering flow
* fixup loader tests
* add enabled helper func
* fix logger name
* fix data fetchers
* fix case where plugin dir doesn't exist
* improve coverage + move dupe checking to loader
* remove noisy debug logs
* register core plugins automagically
* add support for renderer in catalog
* make private func + fix req validation
* use interface
* re-add check for renderer in catalog
* tidy up from moving to auto reg core plugins
* core plugin registrar
* guards
* copy over core plugins for test infra
* all tests green
* renames
* propagate new interfaces
* kill old manager
* get compiling
* tidy up
* update naming
* refactor manager test + cleanup
* add more cases to finder test
* migrate validator to field
* more coverage
* refactor dupe checking
* add test for plugin class
* add coverage for initializer
* split out rendering
* move
* fixup tests
* fix uss test
* fix frontend settings
* fix grafanads test
* add check when checking sig errors
* fix enabled map
* fixup
* allow manual setup of CM
* rename to cloud-monitoring
* remove TODO
* add installer interface for testing
* loader interface returns
* tests passing
* refactor + add more coverage
* support 'stackdriver'
* fix frontend settings loading
* improve naming based on package name
* small tidy
* refactor test
* fix renderer start
* make cloud-monitoring plugin ID clearer
* add plugin update test
* add integration tests
* don't break all if sig can't be calculated
* add root URL check test
* add more signature verification tests
* update DTO name
* update enabled plugins comment
* update comments
* fix linter
* revert fe naming change
* fix errors endpoint
* reset error code field name
* re-order test to help verify
* assert -> require
* pm check
* add missing entry + re-order
* re-check
* dump icon log
* verify manager contents first
* reformat
* apply PR feedback
* apply style changes
* fix one vs all loading err
* improve log output
* only start when no signature error
* move log
* rework plugin update check
* fix test
* fix multi loading from cfg.PluginSettings
* improve log output #2
* add error abstraction to capture errors without registering a plugin
* add debug log
* add unsigned warning
* e2e test attempt
* fix logger
* set home path
* prevent panic
* alternate
* ugh.. fix home path
* return renderer even if not started
* make renderer plugin managed
* add fallback renderer icon, update renderer badge + prevent changes when renderer is installed
* fix icon loading
* rollback renderer changes
* use correct field
* remove unneccessary block
* remove newline
* remove unused func
* fix bundled plugins base + module fields
* remove unused field since refactor
* add authorizer abstraction
* loader only returns plugins expected to run
* fix multi log output
2021-11-01 10:53:33 +01:00
Serge Zaitsev
ef0fab9aa5
Expose folder UID in dashboards API response ( #33991 )
...
* expose folder UID in dashboards API response, import dashboards into folders by folder UID
* handle bad folder UID as 400 error
* 12591:Add tests for request with folderUid
* Use more descriptive error status for missing folders
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* return 400 when folder id is missing
* put error checking in the right place this time
* mention folderUid in the docs
* Clarify usage of folderUid and folderId when both present
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* Capitalise UID
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* mention folder UID in the metadata for a GET response
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com >
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
2021-05-26 10:20:13 -04:00
Will Browne
c39d6ad97d
Plugins: Enable plugin runtime install/uninstall capabilities ( #33836 )
...
* add uninstall flow
* add install flow
* small cleanup
* smaller-footprint solution
* cleanup + make bp start auto
* fix interface contract
* improve naming
* accept version arg
* ensure use of shared logger
* make installer a field
* add plugin decommissioning
* add basic error checking
* fix api docs
* making initialization idempotent
* add mutex
* fix comment
* fix test
* add test for decommission
* improve existing test
* add more test coverage
* more tests
* change test func to use read lock
* refactoring + adding test asserts
* improve purging old install flow
* improve dupe checking
* change log name
* skip over dupe scanned
* make test assertion more flexible
* remove trailing line
* fix pointer receiver name
* update comment
* add context to API
* add config flag
* add base http api test + fix update functionality
* simplify existing check
* clean up test
* refactor tests based on feedback
* add single quotes to errs
* use gcmp in tests + fix logo issue
* make plugin list testing more flexible
* address feedback
* fix API test
* fix linter
* undo preallocate
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* Update docs/sources/administration/configuration.md
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
* fix linting issue in test
* add docs placeholder
* update install notes
* Update docs/sources/plugins/marketplace.md
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com >
* update access wording
* add more placeholder docs
* add link to more info
* PR feedback - improved errors, refactor, lock fix
* improve err details
* propagate plugin version errors
* don't autostart renderer
* add H1
* fix imports
Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com >
Co-authored-by: Marcus Olsson <marcus.olsson@hey.com >
2021-05-12 20:05:16 +02:00
Arve Knudsen
87c3a2b790
PluginManager: Make Plugins, Renderer and DataSources non-global ( #31866 )
...
* PluginManager: Make Plugins and DataSources non-global
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Replace outdated command
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix build
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* DashboardService: Ensure it gets constructed with necessary parameters
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove FocusConvey
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Remove dead code
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Undo interface changes
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Backend: Move tsdbifaces.RequestHandler to plugins.DataRequestHandler
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Rename to DataSourceCount
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Consolidate dashboard interfaces into one
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix test
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
* Fix dashboard integration tests
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
2021-03-17 16:06:10 +01:00
Arve Knudsen
b79e61656a
Introduce TSDB service ( #31520 )
...
* Introduce TSDB service
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com >
Co-authored-by: Erik Sundell <erik.sundell87@gmail.com >
Co-authored-by: Will Browne <will.browne@grafana.com >
Co-authored-by: Torkel Ödegaard <torkel@grafana.org >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com >
2021-03-08 07:02:49 +01:00
Will Browne
a515c54404
Plugins: Add support for signature manifest V2 ( #29240 )
...
* add support for signing manifest v2
* add log and fix var name
* shorten comment
* improve comment
* remove unnecessary param
* improve naming
* reformat
* rename var
* refactor test
* remove unnecessary assert
* simplify test requirements
* add more test cases
* address feedback
* revert naming
* flip tracking missing
* fix check
* Trigger Build
2020-12-11 12:57:57 +01:00
Ryan McKinley
468f5d15ab
Plugins: add a signature status flag ( #23420 )
2020-04-09 00:00:16 -07:00
Marcus Efraimsson
54c9b11ae8
Fix importing plugin dashboards ( #21501 )
...
#21350 introduced a bug regarding import of plugin dashboards.
This should fix this and add custom validation if not importing
plugin dashboard and dashboard property is missing.
Ref #21350
Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com >
2020-01-15 12:10:02 +01:00
Arve Knudsen
d26075644c
ImportDashboardCommand: Validate JSON fields ( #21350 )
...
* ImportDashboardCommand: Validate JSON fields
2020-01-14 16:26:54 +01:00
Torkel Ödegaard
e1d408a66f
AddDataSource: Updated page design & categories ( #16971 )
...
* minor refactoring
* Added category
* Minor progress
* Progres
* Updated descriptions
* Added custom sort
* NewDataSource: progress
* Updated design
* NewDataSource: Updated design
* Updated link
* Feedback changes
2019-05-09 11:45:39 +02:00
Torkel Ödegaard
480da34279
filter out alpha plugins in api call, fixes #14030
2018-11-15 11:10:47 +01:00
Alexander Zobnin
4063ae37a4
dashboard: import to folder
2018-06-05 19:23:09 +03:00
Torkel Ödegaard
1cd632cc43
plugins: added state property to plugins
2017-04-07 12:00:03 +02:00
Torkel Ödegaard
7cd663bbe8
feat(import): more import work
2016-05-14 10:00:43 +02:00
Torkel Ödegaard
f4a013946f
feat(pluginlist): link in plugin list now goes to app/plugin default nav unless enabled
2016-05-03 19:00:42 +02:00
Torkel Ödegaard
bce5c447b3
fix(apps): app dashboards can now be updated, fixes #4817
2016-04-26 12:52:44 +02:00
Torkel Ödegaard
6ac3bd4c7c
feat(): update checks starting to work
2016-04-11 12:47:04 -04:00
Torkel Ödegaard
b4a8c227cc
feat(update checks): started work on update checks
2016-04-11 12:21:48 -04:00
Torkel Ödegaard
10df9dc8c3
feat(plugins): finished app navigation enhancements, closes #4434
2016-03-22 10:15:47 +01:00
Torkel Ödegaard
65c0937741
ux(): app navigation improvements, changes to plugin.json for apps, merged pages with includes section, #4434
2016-03-21 19:07:08 +01:00
Torkel Ödegaard
1abdd170d3
ux(): fixes to cards and sorting plugin list, #4364
2016-03-15 15:52:29 +01:00
Torkel Ödegaard
c5a817194a
more work on dashboard importing and templating
2016-03-11 17:31:57 +01:00
Torkel Ödegaard
fc54c01f01
feat(plugins): more work on plugin dashboard install, #4298
2016-03-11 12:31:56 +01:00
Torkel Ödegaard
2de439bd1e
feat(plugins): progress on dashboard installs , #4298
2016-03-11 09:57:20 +01:00
Torkel Ödegaard
dfaa6d8eb9
feat(plugins): a lot of work on #4298
2016-03-08 18:17:47 +01:00
Torkel Ödegaard
135679096b
feat(plugins): progress on plugin details page, # 4275
2016-03-07 14:31:17 +01:00
Torkel Ödegaard
c148d89004
feat(plugins): progress on plugins page
2016-02-26 18:25:39 +01:00
Torkel Ödegaard
c521182ceb
feat(plugins): more work on plugins list/edit view
2016-02-25 15:56:28 +01:00
Torkel Ödegaard
8db7cf49a6
feat(plugins): began refactoring AppSettings -> PluginSettings, and have the plugins list view and plugin edit view be common for all plugins
2016-02-25 14:55:31 +01:00