Dan Cech
85a207fceb
Chore: Replace entity GRN with infra/grn GRN ( #74198 )
...
replace entity GRN with infra/grn GRN
2023-08-31 15:43:35 -04:00
Ryan McKinley
025b2f3011
Chore: use any rather than interface{} ( #74066 )
2023-08-30 18:46:47 +03:00
Will Browne
c5e9a82ccb
Plugins: Do not fail bootstrap stage if single decorate step fails ( #73147 )
...
* don't fail all if decorate step fails
* fix casing
* include err too
* cover pluginsintegration too
2023-08-10 14:46:38 +02:00
Ludovic Viaud
7ec3489cd3
Plugins Instrumentation: add exemplar to the plugin requests metrics ( #72071 )
...
* Plugins Instrumentation: add exemplar to the plugin requests metrics
2023-07-21 18:01:29 +02:00
Andres Martinez Gotor
24eef7a3d2
Chore: Use SDK logger for test data source ( #71579 )
2023-07-17 16:34:08 +02:00
Ludovic Viaud
68ab0ac552
Update ( #69684 )
2023-06-28 13:11:41 +02:00
Ryan McKinley
e17ef5e504
Pyroscope: Rename phlare to grafana-pyroscope-datasource ( #68859 )
2023-06-07 06:09:29 +03:00
Ludovic Viaud
b59533e526
Fix plugin metric ( #69368 )
2023-06-01 14:24:39 +02:00
Will Browne
ae373c662c
Plugins: Refactor env vars to dedicated service ( #68960 )
...
* add env vars service
* fix tests
* fix more tests
2023-05-24 14:02:14 +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
Will Browne
bb6ec1470d
Plugins: Correct the usage of mutex for gRPC plugin implementation ( #68555 )
...
correct usage of mutex
2023-05-17 11:50:25 +02:00
Ludovic Viaud
bc5881a051
Instrumentation: Add plugin service request metric ( #65527 )
...
* Service request metrics
* Service request metrics
2023-04-19 17:16:34 +09:00
ismail simsek
a1bc227228
Instrumentation: Report the size of plugin request ( #66149 )
...
* Report the size of the plugin request
* Remove middleware, report directly
* PR review updates
2023-04-11 22:04:32 +02:00
Will Browne
23e3ac0ac9
Plugins: Improve client instrumentation by adding cancelled status and logging errors ( #65099 )
...
add cancelled status and log err
2023-03-21 13:42:57 +01:00
Will Browne
ec82719372
Plugins: Introduce plugin package specific logger ( #62204 )
...
* refactor
* implement with infra log for now
* undo moving
* update package name
* update name
* fix tests
* update pretty signature
* update naming
* simplify
* fix typo
* delete comment
* fix import
* retrigger
2023-02-28 16:10:27 +01:00
Will Browne
958eea2f78
Plugins: Add backend target to instrumentation ( #61980 )
...
* add target
* fix test
2023-01-24 16:18:34 +01:00
Carl Bergquist
672b1711b0
Instrumentation: measure time until plugin request ( #61279 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com >
2023-01-11 13:19:06 +00:00
Marcus Efraimsson
6478d0a5ef
Plugins: Forward user header (X-Grafana-User) in backend plugin requests ( #58646 )
...
Grafana would forward the X-Grafana-User header to backend plugin request when
dataproxy.send_user_header is enabled. In addition, X-Grafana-User will be automatically
forwarded in outgoing HTTP requests for core/builtin HTTP datasources.
Use grafana-plugin-sdk-go v0.147.0.
Fixes #47734
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
2022-12-15 15:28:25 +01:00
Carl Bergquist
a5ace56be8
Plugins: Add username to datasource plugin logging ( #59893 )
...
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Signed-off-by: bergquist <carl.bergquist@gmail.com >
2022-12-07 13:15:42 +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
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
Emil Tullstedt
b287047052
Chore: Upgrade Go to 1.19.1 ( #54902 )
...
* WIP
* Set public_suffix to a pre Ruby 2.6 version
* we don't need to install python
* Stretch->Buster
* Bump versions in lib.star
* Manually update linter
Sort of messy, but the .mod-file need to contain all dependencies that
use 1.16+ features, otherwise they're assumed to be compiled with
-lang=go1.16 and cannot access generics et al.
Bingo doesn't seem to understand that, but it's possible to manually
update things to get Bingo happy.
* undo reformatting
* Various lint improvements
* More from the linter
* goimports -w ./pkg/
* Disable gocritic
* Add/modify linter exceptions
* lint + flatten nested list
Go 1.19 doesn't support nested lists, and there wasn't an obvious workaround.
https://go.dev/doc/comment#lists
2022-09-12 12:03:49 +02:00
Joan López de la Franca Beltran
6ec06f66b9
Rendering: Add support for renderer token ( #54425 )
...
(cherry picked from commit a4f75cc0438712c90b02d24740416f8615e3a0cb)
2022-08-30 12:09:38 +02:00
Marcus Efraimsson
cd5f27a25d
Plugins: Propagate distributed tracing headers to backend plugins ( #54107 )
2022-08-24 11:55:49 +02:00
Guilherme Caulada
d90600c454
Secrets: Add fallback to secrets kvstore plugin ( #54056 )
...
* Add fallback to secrets kvstore plugin
* Fix linter issues
* Fix linter issues
* Add deletion error to bool to fake secrets kvstore
* Add fallback to fake secrets kvstore
* Fix fake secrets kvstore fallback setter
* Use Key on Item message for secrets manager protobuf
* Add clarifying comment about fallback
2022-08-23 12:21:54 -03:00
Jo
062d255124
Handle ioutil deprecations ( #53526 )
...
* replace ioutil.ReadFile -> os.ReadFile
* replace ioutil.ReadAll -> io.ReadAll
* replace ioutil.TempFile -> os.CreateTemp
* replace ioutil.NopCloser -> io.NopCloser
* replace ioutil.WriteFile -> os.WriteFile
* replace ioutil.TempDir -> os.MkdirTemp
* replace ioutil.Discard -> io.Discard
2022-08-10 15:37:51 +02:00
Artur Wierzbicki
e96f67ae2e
Renderer: Add sanitize API ( #50936 )
...
* svg fun
* #50597 : add proto
* #50597 : add sanitizer methods
* #50597 : add provider
* #50597 : use sanitizer
* #50597 : use sanitizer
* update grafana to match new api
* add comments
* add capability check
* add timing
* update sanitize path
* improve log message
* strings.HasPrefix rather than filepath.IsAbs
* filepath.Clean + filepath.ToSlash for windows
* read 404
* remove `path.clean` from `getPathAndScope`
* add resp body close
* remove unneeded prop
* Update pkg/services/rendering/rendering.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com >
* remove test files
* filepath.ToSlash correct wrapping
* filepath.ToSlash correct wrapping
* filepath.ToSlash comment
* compilation error
* lint fix
* fix error message
* Update pkg/services/rendering/rendering.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com >
* add `image/svg+xml` mime type
* refactored log
* refactored log
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com >
2022-07-07 15:32:18 +04:00
Marcus Efraimsson
a8eb29f1d7
Plugins: Use a Grafana specific SDK logger implementation for core plugins ( #51229 )
...
Upgrade grafana-aws-sdk to v0.10.6
2022-06-23 14:34:25 +02:00
Ben Kochie
68691d7775
Convert some metrics to Histograms ( #50420 )
...
Because Summary metrics can not be aggreated, convert them to histograms
so that users with HA deployments can use these metrics.
* Convert metrics registration to promauto.
* Improve help text style.
Signed-off-by: SuperQ <superq@gmail.com >
2022-06-15 13:19:43 +02:00
Michael Mandrus
d886141d69
Plugins: Refactor secrets plugin .proto file ( #50722 )
...
* refactor .proto file according to prior PR suggestions
* re-generate protobuf files and fix compilation errors
* rename proto functions to be more descriptive
2022-06-14 11:53:04 -04:00
Michael Mandrus
f376c33903
WIP: Add private Secret Manager Plugins support to plugin platform ( #49544 )
...
* Add protobuf config and generated code, and client wrapper
* wire up loading of secretsmanager plugin, using renderer plugin as a model
* update kvstore provider to check if we should use the grpc plugin. return false always in OSS
* add OSS remote plugin check
* refactor wire gen file
* log which secrets manager is being used
* Fix argument types for remote checker
* Turns out if err != nil, then the result is always nil. Return empty values if there is an error.
* remove duplicate import
* Update pkg/services/secrets/kvstore/kvstore.go
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* Update pkg/services/secrets/kvstore/kvstore.go
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
* refactor RemotePluginCheck interface to just return the Plugin client directly
* rename struct to something less silly
* Update pkg/plugins/backendplugin/secretsmanagerplugin/secretsmanager.proto
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
2022-06-09 13:19:27 -04:00
Will Browne
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
Kat Yang
3c3039f5b3
Chore: Remove Wrap ( #50048 )
...
* Chore: Remove Wrap and Wrapf
* Fix: Add error check
2022-06-03 09:24:24 +02:00
Marcus Efraimsson
a7813275a5
Plugins: Support headers field for check health ( #49930 )
2022-05-31 17:58:06 +02:00
Will Browne
7694b78456
mv and refactor ( #46242 )
2022-03-04 15:26:35 +01:00
Will Browne
3fbe4801b7
Plugins: Update collect metrics handler to latest signature ( #45166 )
...
* use updated collect metrics handler
* use proto helper
2022-02-09 17:36:53 +01:00
Will Browne
b5dd4842d0
Plugins: Make manager more easily composable ( #44467 )
...
* make more easily composable
* fix build
2022-01-27 18:06:38 +01:00
Will Browne
7fbc7d019a
Plugins: Core plugins register via backend factory provider ( #43171 )
...
* refactoring store interface and init flow
* fix import
* fix linter
* refactor resource calling
* load with class
* re-order args
* fix tests
* fix linter
* remove old creator
* add custom config struct
* fix some tests
* cleanup
* fix
* tackle plugins
* fix linter
* refactor and fix test
* add connect failure error
* add fix for azure, cloud monitoring and test data
* restructure
* remove unused err
* add fake tracer for test
* fix grafana ds plugin
2022-01-20 18:16:22 +01:00
Will Browne
7694fff0ef
[WIP] Plugins: Refactoring backend initialization flow ( #42247 )
...
* refactoring store interface and init flow
* fix import
* fix linter
* refactor resource calling
* load with class
* re-order args
* fix tests
* fix linter
* remove old creator
* add custom config struct
* fix some tests
* cleanup
* fix linter
* add connect failure error
* remove unused err
* convert test over
2022-01-14 13:30:39 +01:00
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
Ieva
52220b2470
AccessControl: frontend changes for adding FGAC to licensing ( #39484 )
...
* refactor licenseURL function to use context and export permission evaluation fction
* remove provisioning file
* refactor licenseURL to take in a bool to avoid circular dependencies
* remove function for appending nav link, as it was only used once and move the function to create admin node
* better argument names
* create a function for permission checking
* extend permission checking when displaying server stats
* enable the use of enterprise access control actions when evaluating permissions
* import ordering
* move licensing FGAC action definitions to models package to allow access from oss
* move evaluatePermissions for routes to context serve
* change permission evaluator to take in more permissions
* move licensing FGAC actions again to appease wire
* avoid index out of bounds issue in case no children are passed in when creating server admin node
* simplify syntax for permission checking
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com >
* update loading state for server stats
* linting
* more linting
* fix test
* fix a frontend test
* update "licensing.reports:read" action naming
* UI doesn't allow reading only licensing reports and not the rest of licensing info
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com >
2021-10-05 14:54:26 +01:00
Serge Zaitsev
063160aae2
Chore: pass url parameters through context.Context ( #38826 )
...
* pass url parameters through context.Context
* fix url param names without colon prefix
* change context params to vars
* replace url vars in tests using new api
* rename vars to params
* add some comments
* rename seturlvars to seturlparams
2021-09-14 18:34:56 +02:00
Will Browne
1a71f0fe13
Chore: Add WARN log if grafana server process is running with elevated privileges ( #35205 )
...
* warn on linux
* add warning for grpc plugins
* add windows support
* update go.mod
* reorganize imports
* update naming
* remove Windows logic
* simplify and add check for when UID and EUID don't match
* fix build
* tidy go.mod
* feedback
* cleanup + migrate
2021-09-13 17:46:47 +02:00
Serge Zaitsev
c3ab2fdeb7
Macaron: remove custom Request type ( #37874 )
...
* remove macaron.Request, use http.Request instead
* remove com dependency from bindings module
* fix another c.Req.Request
2021-09-01 11:18:30 +02:00
Arve Knudsen
78596a6756
Migrate to Wire for dependency injection ( #32289 )
...
Fixes #30144
Co-authored-by: dsotirakis <sotirakis.dim@gmail.com >
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com >
Co-authored-by: Ida Furjesova <ida.furjesova@grafana.com >
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com >
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
Co-authored-by: Leon Sorokin <leeoniya@gmail.com >
Co-authored-by: Andrej Ocenas <mr.ocenas@gmail.com >
Co-authored-by: spinillos <selenepinillos@gmail.com >
Co-authored-by: Karl Persson <kalle.persson@grafana.com >
Co-authored-by: Leonard Gram <leo@xlson.com >
2021-08-25 15:11:22 +02:00
Marcus Efraimsson
b3e9087557
Chore: Refactor backend plugin manager/tsdb query data ( #34944 )
...
Move QueryData method into backend plugin manager which HandleRequest uses to
query data from plugin SDK supported data sources. This allowed us to remove a lot
of code no longer needed.
Ref #21510
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com >
2021-06-03 14:16:58 +02:00
Alexander Emelin
063e1b5ff5
Live: use latest changes in Go SDK to deal with streaming frames ( #34668 )
2021-05-25 10:29:02 -07:00
Erik Sundell
92ac2c40d3
expose azure settings as env variables ( #34484 )
2021-05-25 13:40:05 +02:00
idafurjes
1e8e7e34f1
Plugins: Remove support for deprecated backend plugin protocol version ( #34127 )
...
* 33959: Remove support for deprecated backend plugin protocol (v1)
* 33959: Remove unused methods
* 33959: Remove some additional unused code
* 33959: Remove some additional unused code
* 33959: Remove datasource plugin wrapper with test
* 33959:Remove DefaultProtocolVersion
2021-05-19 08:57:48 +02:00