Commit Graph

91 Commits

Author SHA1 Message Date
Alexander Emelin
345f0b658d Live: crud for remote write backends (#40147) 2021-11-05 12:13:40 +03:00
idafurjes
9340430723 Chore: Add alert ctx (#41161)
* Add context for alert

* Remove context.TODO

* Remove xorm

* Remove context.TODO

* Fix UsageStatsQuerier interface
2021-11-03 14:10:39 +01:00
idafurjes
47f6bb3583 Chore: Add context to org (#40685)
* Add context to org

* Rebase

* Fix rebase
2021-11-03 11:31:56 +01:00
Marcus Efraimsson
f6be78b5ae Chore: Propagate context for plugin settings (#41166)
Ref #36734
2021-11-02 13:42:55 +01:00
Alexander Emelin
9c160413f6 Live: adopt latest fixes from gin route tree (#41141) 2021-11-01 20:02:03 +03: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
An
f4e78ea27b Live: Test Converter tab (#40536) 2021-10-19 09:50:17 +02:00
Serge Zaitsev
57fcfd578d Chore: replace macaron with web package (#40136)
* replace macaron with web package

* add web.go
2021-10-11 14:30:59 +02:00
Alexander Emelin
8180121495 Live: remote write sampling (#40079) 2021-10-07 11:42:57 +03:00
Alexander Emelin
5358c45a3a Live: array for Processor, Outputter and Subscriber in channel rule top level (#39677) 2021-10-06 20:43:25 +03:00
Alexander Emelin
29f3e175b6 Live: test pipeline convert endpoint (#39480) 2021-09-30 19:28:06 +02:00
Alexander Emelin
a696fc8b2b Live: pipeline rule crud (file-based, still for MVP) (#39238) 2021-09-30 19:29:32 +03:00
Alexander Emelin
0db6ba9d70 Live: pipeline subscription authorization based on user role (#39587) 2021-09-23 19:33:12 -07:00
Marcus Efraimsson
518a0d0458 Chore: Propagate context for dashboard guardian (#39201)
Require guardian.New to take context.Context as first argument. 
Migrates the GetDashboardAclInfoListQuery to be dispatched using context.

Ref #36734

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
Co-authored-by: sam boyer <sam.boyer@grafana.com>
2021-09-23 17:43:32 +02:00
Alexander Emelin
914ae81026 live: pipeline remote write buffer (#39586) 2021-09-23 18:35:09 +03:00
Tania B
b9acdce837 Chore: Fix grafana live stats reset when sending usage stats (#39558) 2021-09-23 12:55:00 +03:00
Joan López de la Franca Beltran
c75737c808 Usage Stats: Decouple from GrafanaLive (#39512)
* Usage Stats: Decouple from GrafanaLive
2021-09-22 16:28:40 +02:00
Alexander Emelin
0bf70b14fd Live: api to show available pipeline entities (#39469)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-09-21 11:57:58 -07:00
Todd Treece
1781c8ec7d Chore: Add go-redis v8 dependency (#39442)
* adds redis v8 client dependency

* remove go-redis v5 dependency
2021-09-20 22:21:59 +02:00
Alexander Emelin
be2b08798b live: prevent pipeline recursion (#39366) 2021-09-17 21:00:00 +03:00
Alexander Emelin
e1f1773036 Live: pipeline subscriber interface (#39299) 2021-09-17 16:40:32 +03:00
Atif Shoukat Ali
64ff15c157 Live: default to constant label value for pipeline (#39211) 2021-09-15 13:10:52 -07:00
Alexander Emelin
15e278e9e1 Live: search for pipeline files in data folder (#39198)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2021-09-14 22:27:51 +02: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
Marcus Efraimsson
fa9857499b Chore: GetDashboardQuery should be dispatched using DispatchCtx (#36877)
* Chore: GetDashboardQuery should be dispatched using DispatchCtx

* Fix after merge

* Changes after review

* Various fixes

* Use GetDashboardCtx function instead of GetDashboard
2021-09-14 16:08:04 +02:00
Alexander Emelin
5fcc9fe193 temporary switch to alternative jsonpath implementation (#39090)
to work with go1.16 and avoid replace in go.mod
2021-09-10 16:24:31 +03:00
Alexander Emelin
3ee861f57e Live: declarative processing pipeline, input -> frames -> output, toggle protected POC (#37644) 2021-09-09 19:19:29 +03:00
Alexander Emelin
342b1426e5 live: update centrifuge to v0.18.2 (#38925) 2021-09-07 21:05:24 +03:00
Torkel Ödegaard
51776e6bd3 UsageStats: Add connected users and client (#38811) 2021-09-07 18:50:28 +02:00
Ryan McKinley
e461c722bf Live: prepend orgId when publishing from HTTP (#38775) 2021-09-01 17:54:34 +02:00
Serge Zaitsev
643c7fa0cb Chore: update all +build statements (#38782) 2021-09-01 17:38:56 +03: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
Alexander Emelin
a95a40d87d Live: allow connections with request host matching origin host (#38538) 2021-08-27 13:26:28 +03: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
Alexander Emelin
31903778ae Live: display stream rate, fix duplicate channels in list response (#37365) 2021-07-30 21:05:39 +03:00
Alexander Emelin
32b74e75a3 live: various code cleanups (#37165) 2021-07-23 19:47:08 +03:00
Alexander Emelin
6c440b5e8b live: handle input with NaN sent as a string (#36924) 2021-07-20 10:46:05 +03:00
Alexander Emelin
37caebc934 live: handle origin without port set (#36834) 2021-07-17 13:38:33 +03:00
Alexander Emelin
607c5d2555 Live: handle influx input with incomplete/asymmetrical field set (#36664) 2021-07-13 19:17:59 +03:00
Alexander Emelin
e1358eeb76 live: better error logging in push API (#36601) 2021-07-10 16:46:21 +03:00
Serge Zaitsev
9b2d7d6d69 Gradually remove Macaron web framework (#36325)
* add macaron code to the code base

* remove unused secure cookies support from macaron

* clean up modules

* remove com dependency

* fix silly typos

* little cleanup, remove recovery middleware

* remove logger middleware

* remove static handler and remove unused context methods

* bring inject into macaron codebase

* remove unused applicator

* add back macaron license

* more cleanups in macaron code

* remove unused injector Set method

* remove unused context methods: param to int conversion, body helper type, cookie helpers

* remove action from context

* remove complex environment handling, we only use Env variable

* restore ReplaceAllParams to fix the tests
2021-07-08 14:19:40 +02:00
Alexander Emelin
483418dbb0 live: add allowed_origins option (#36318) 2021-07-01 09:30:09 +03:00
Alexander Emelin
98893c0420 Live: experimental HA with Redis (#34851) 2021-06-24 11:07:09 +03:00
Alexander Emelin
5bbf45592e Live: rely on app url for origin check (#35983) 2021-06-23 19:51:03 +03:00
Ryan McKinley
4b8d796c54 Live: avoid panic when type changes (#35394) 2021-06-09 11:15:42 -07:00
Alexander Emelin
7aee0deb38 live: log error on dashboard subscribe (#35095) 2021-06-02 18:02:54 +03:00
Alexander Emelin
b73d168753 live: fix log message (#34879) 2021-05-28 11:33:55 +02:00
Alexander Emelin
6d750c000e Live: max_connections option with strict default (#34634)
this should help Live to be enabled by default but still
do not affect setups with lots of simultenious users. To
properly handle many WS connections Grafana administrators
should tune infrastructure a bit - for example increase a
number of open files for a process. Will be in more details
in documentation.
2021-05-27 22:03:18 +03:00
Ryan McKinley
67028af99e Live: check schema equality between push messages (#34548) 2021-05-27 12:55:42 +03:00
Alexander Emelin
4221f2d147 Live: grafana_live namespace for centrifuge prom metrics (#34712) 2021-05-26 10:12:24 -07:00