d7c554c25e
Renderer: Fix regression on callback URL in plugin mode ( #103787 )
...
* Renderer: Fix regression on callback URL in plugin mode
* cleanup
* refactor to not mutate cfg object
* apply review feedback
2025-04-11 15:34:10 +02:00
757be6365a
CI: Bump golangci-lint to 2.0.2 ( #103572 )
2025-04-10 14:42:23 +02:00
21bfdd445f
Image Renderer: Minor refactor cleanup ( #100089 )
2025-02-06 08:01:11 -07:00
6eac07c3a7
Image Renderer: Add support for SSL in plugin mode ( #98009 )
2025-02-04 10:44:02 -08:00
4ae627e420
Render Service: Add trace ID to logs ( #98006 )
...
* Rendering: add logs
* fix tests and lint issues
* add context to logs
* update timed out logs to error logs
2025-01-09 10:19:11 +01:00
1c4d30f73c
Rendering: Add logs ( #97885 )
...
* Rendering: add logs
* fix tests and lint issues
2024-12-13 09:42:35 +01:00
42126398be
Rendering: add userID in rendering log ( #88132 )
2024-05-23 09:41:53 +02:00
c9c6445554
Chore: Refactor render via http ( #84613 )
2024-05-14 07:24:18 -03:00
5687243d0b
Feature Flags: use FeatureToggles interface where possible ( #85131 )
...
* Feature Flags: use FeatureToggles interface where possible
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
* Replace TestFeatureToggles with existing WithFeatures
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
---------
Signed-off-by: Dave Henderson <dave.henderson@grafana.com>
2024-04-04 12:22:31 -04:00
58170d4141
Rendering: Add PDFRendering capability ( #84438 )
...
* Rendering: Add PDFRendering capability
* fix tests
2024-03-19 08:48:46 +01:00
28e66b4ad8
Rendering: Adds PDF support behind feature toggle ( #81811 )
...
* start pdf refactor
* Update AppChrome.tsx
* Update AppChrome.tsx
* add encoding param to rendering grpc service
* fix plugin mode
* clean up
* fix backend tests
* fix lint errors
* Support pdf encoding in render http api
---------
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2024-02-08 13:09:34 +01:00
6768c6c059
Chore: Remove public vars in setting package ( #81018 )
...
Removes the public variable setting.SecretKey plus some other ones.
Introduces some new functions for creating setting.Cfg.
2024-01-23 12:36:22 +01:00
1cec6195f1
Rendering: Fix plugin initialization ( #80013 )
2024-01-04 11:30:01 +01:00
ce8fd14f1f
Plugins: Make renderer service load renderer plugin ( #77854 )
...
* rendering service loads renderer plugin
* update naming
* tidy
* apply PR feedback
* fix missing feature manager
* fix step
* set plugin
2023-12-14 17:33:29 +01:00
f69fd3726b
FeatureToggles: Add context and and an explicit global check ( #78081 )
2023-11-14 12:50:27 -08:00
878e94ae25
Rendering: Use image for server timeout errors ( #73462 )
2023-08-18 11:50:49 +03:00
87a0c95164
Rendering: Experimental support to use JWTs as auth method ( #60841 )
...
* Rendering: Add support for auth through JWT
* Goimports
* Apply review suggestions
* Correct feature toggle ref
* Minor changes
2023-04-03 18:53:38 +02:00
b88206d98f
Cache: Refactor cache clients to use byte array ( #62930 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2023-02-08 10:30:20 +01:00
48b33ab521
Plugins: Unsigned chromium file should not invalidate signature for Renderer plugin ( #59104 )
...
* Plugins: Unsigned chromium file should not invalidate signature for Renderer plugin
* fix test
* re-work solution
2022-12-19 12:46:27 +01:00
e9dc7fb85c
Rendering: Add configuration options for renderKey
lifetime ( #57339 )
...
* Add configuration options for `renderKey` lifetime
* Rename config key to `render_key_lifetime`
* Update conf/defaults.ini
Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
* Add `render_key_lifetime` to sample.ini
Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2022-11-03 12:06:55 +01:00
ecdcafb258
manager exposes renderer + secrets manager ( #54629 )
2022-09-02 14:20:10 +02:00
9afe845d5c
Sanitization: fix log message ( #52401 )
2022-07-18 06:46:57 -07:00
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
897db011eb
Add error options for rendering to return errors on failure ( #48864 )
2022-05-09 19:11:24 +01:00
7643ae6c5e
Rendering: periodically refresh remote plugin version ( #45505 )
...
* #44449 : refresh image renderer version on a schedule
* #44449 : simplify
2022-02-18 20:25:01 +04:00
a025109647
Dash previews: populate crawler queue from SQL query ( #44083 )
...
* add SQL migrations
* dashboard previews from sql: poc
* added todos
* refactor: use the same enums where possible
* use useEffect, always return json
* added todo
* refactor + delete files after use
* refactor + fix manual thumbnail upload
* refactor: move all interactions with sqlStore to thumbnail repo
* refactor: remove file operations in thumb crawler/service
* refactor: fix dashboard_thumbs sql store
* refactor: extracted thumbnail fetching/updating to a hook
* refactor: store thumbnails in redux store
* refactor: store thumbnails in redux store
* refactor: private'd repo methods
* removed redux storage, saving images as blobs
* allow for configurable rendering timeouts
* added 1) query for dashboards with stale thumbnails, 2) command for marking thumbnails as stale
* use sql-based queue in crawler
* ui for marking thumbnails as stale
* replaced `stale` boolean prop with `state` enum
* introduce rendering session
* compilation errors
* fix crawler stop button
* rename thumbnail state frozen to locked
* #44449 : fix merge conflicts
* #44449 : remove thumb methods from `Store` interface
* #44449 : clean filepath, defer file closing
* #44449 : fix rendering.Theme cyclic import
* #44449 : linting
* #44449 : linting
* #44449 : mutex'd crawlerStatus access
* #44449 : added integration tests for `sqlstore.dashboard_thumbs`
* #44449 : added comments to explain the `ThumbnailState` enum
* #44449 : use os.ReadFile rather then os.Open
* #44449 : always enable dashboardPreviews feature during integration tests
* #44449 : remove sleep time, adjust number of threads
* #44449 : review fix: add `orgId` to `DashboardThumbnailMeta`
* #44449 : review fix: automatic parsing of thumbnailState
* #44449 : lint fixes
* #44449 : review fix: prefer `WithDbSession` over `WithTransactionalDbSession`
* #44449 : review fix: add a comment explaining source of the filepath
* #44449 : review fix: added filepath validation
* #44449 : review fixes https://github.com/grafana/grafana/pull/45063/files @fzambia
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2022-02-09 13:23:32 +04:00
254c59725e
Rendering: add capabilities check ( #44470 )
...
* #44449 : add feature check to rendering service
* #44449 : formatting
* #44449 : rename feature -> capability (https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack/getCapabilities , https://developer.mozilla.org/en-US/docs/Web/API/InputDeviceInfo/getCapabilities )
* #44449 : refactor
* #44449 : remove commented code
* Update pkg/services/rendering/capabilities.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
* #44449 : review fixes
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-28 21:24:15 +04:00
5148250366
Rendering service - add optional RenderingSession ( #44098 )
...
* rendering service changes:
- make node-renderer request timeout configurable
- introduce optional RenderingSession providing a long-lived session key
* remove console logs
* added comment explaining empty "afterRequest" method
* fix compilation error
* update imports formatting
* Update pkg/services/rendering/interface.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
* Update pkg/services/rendering/rendering.go
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
* review fix: extract renderKey related functions/structs to auth.go
* #44449 : private'd `rendering.getRequestTimeout`
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2022-01-27 02:02:19 +04:00
b404aae9c3
Crawler: use existing render service to generate dashboard thumbnails ( #43515 )
...
Co-authored-by: Artur Wierzbicki <artur@arturwierzbicki.com>
2022-01-10 08:21:35 -08:00
b8852ef6a3
Chore: Remove context.TODO() ( #43409 )
...
* Remove context.TODO() from services
* Fix live test
* Remove context.TODO
2021-12-22 11:02:42 +01:00
be578e5700
Improve handling of old/slow-to-start remote renderer ( #40492 )
...
* Assume the remote renderer is old if it returns 404 to the version endpoint
* Retry fetch of remote image renderer version on failure
Co-authored-by: Agnès Toulet <35176601+AgnesToulet@users.noreply.github.com>
2021-12-01 08:58:43 -07:00
9f7942099b
Rendering: Add light theme for errors ( #41616 )
...
* Add light theme for error rendering
* Fix lint
* Update images and add rendering_limit_x images
2021-11-17 12:18:47 +01:00
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
37cbed4b48
Rendering: Check if default image exists to avoid breaking reports if it's moved ( #40930 )
2021-10-27 16:08:03 +02:00
3df001db93
ImageRendering: fix leakage of the rendering inflight counter ( #34607 )
2021-08-28 09:05:03 +02:00
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
0757ba1c64
Renderer: delete debug.log file when Grafana is stopped ( #37367 )
2021-07-30 17:29:02 +02:00
5f6c172b5a
Renderer: add version information ( #34964 )
...
* Renderer: add version information
* fix alerting test
2021-06-04 14:33:49 +03:00
ec71919e7b
Rendering: add CSV support ( #33729 )
...
* Rendering: add CSV rendering support
* Rendering: save csv files into a separate folder
* add missing field
* Renderer: get filename from renderer plugin
* apply PR suggestions
* Rendering: remove old PhantomJS error
* Rendering: separate RenderCSV and Render functions
* fix alerting test
* Rendering: fix handling error in HTTP mode
* apply PR feedback
* Update pkg/services/rendering/http_mode.go
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
* apply PR feedback
* Update rendering metrics with type label
* Rendering: return error if not able to parse header
* Rendering: update grpc generated file
* Rendering: use context.WithTimeout to render CSV too
Co-authored-by: Joan López de la Franca Beltran <joanjan14@gmail.com>
2021-05-12 17:16:57 +02:00
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
47f13abf7a
Backend: Migrate to using non-global configuration ( #31856 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-03-10 12:41:29 +01:00
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
50b649a869
Middleware: Add CSP support ( #29740 )
...
* Middleware: Add support for CSP
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored by @iOrcohen
2021-01-12 07:42:32 +01:00
12661e8a9d
Move middleware context handler logic to service ( #29605 )
...
* middleware: Move context handler to own service
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Emil Tullsted <sakjur@users.noreply.github.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2020-12-11 11:44:44 +01:00
f55818ca70
Chore: Enable exhaustive linter ( #29458 )
...
* Chore: Enable exhaustive linter
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-12-01 09:53:27 +01:00
9593d57914
Chore: Enable errorlint linter ( #29227 )
...
* Enable errorlint linter
* Handle wrapped errors
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2020-11-19 14:47:17 +01:00
cb62e69997
Chore: Convert API tests to standard Go lib ( #29009 )
...
* Chore: Convert tests to standard Go lib
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2020-11-13 09:52:38 +01:00
a078e40238
Settings: Rename constants/variables to follow Go naming standards ( #28002 )
...
* settings: Rename constants/variables to follow Go naming standards
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-10-02 15:45:45 +02:00
d4e4cb4c71
Chore: Enable Go linter gocritic ( #26224 )
...
* Chore: Enable gocritic linter
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-16 14:39:01 +02:00
41d432b5ae
Chore: Enable whitespace linter ( #25903 )
...
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2020-07-06 20:17:28 +02:00