Commit Graph
100 Commits
Author SHA1 Message Date
Will Browne 99784bea14 Plugins: Add toggle for plugin CDN URLs (#111985)
add toggle
2025-10-03 16:28:51 +01:00
Will Browne cc72599321 Revert "Plugins: Move store init to dskit service" (#111806)
Revert "Plugins: Move store init to dskit service (#111206)"

This reverts commit 4cff7237d0.
2025-09-30 12:48:27 +01:00
Will Browne 073338ec29 Plugins: Dependencies do not inherit parent URL for preinstall (#111762)
dependencies dont inehrit parent url for preinstall
2025-09-29 17:57:41 +01:00
Will Browne 8fe2925c47 Plugins: Add toggle for prioritizing loading plugins from CDN (#111671)
add toggle for loading cdn plugins first
2025-09-26 17:12:44 +01:00
Will Browne b154763d04 Chore: Bump prometheus/client_golang to v1.23.2 (#111123)
bump prometheus/client_golang to v1.23.2
2025-09-16 09:26:50 +01:00
Will Browne 2df39fc71a Plugins: Add metrics for fs + cloud provisioning info (#111030)
* add new metrics for plugin fs + cloud provisioning

* fix test

* update label
2025-09-15 14:54:16 +01:00
Will Browne 5520a38726 Chore: Update log level for plugin container mode enabled path (#110873)
update log level
2025-09-10 12:36:55 +00:00
Will Browne 0a7e0e5298 Plugins: Add ability to run backend plugins in containers (#110534)
* add client cfg for containers

* remove unused code

* add field for skip host env for proto client

* add docker to Swagger ignore

* add to enterprise swagger gen

* undo go.mod changes

* pass container image

* propagate container image field
2025-09-10 11:12:23 +01:00
Will Browne 05a6e8503e Plugins: StaticFS should implement FSRemover (#110706)
make staticfs implement fs removal interface
2025-09-09 15:33:05 +01:00
Will Browne 81fa79cdf6 Plugins: Add metric for connection request unavailable errors (#110454)
add metric for connection request unavailable errors
2025-09-02 17:23:07 +01:00
Will Browne 6747b60822 Plugins: Remove pluginsDetailsRightPanel feature toggle (#107321)
remove pluginsDetailsRightPanel feature toggle
2025-07-25 13:02:05 +01:00
Will Browne 7f065c94de Plugins: Remove pluginsCDNSyncLoader feature toggle (#108389)
* remove pluginsCDNSyncLoader feature toggle

* fix lint issues

* fix other linter issue
2025-07-22 09:33:23 +01:00
Will Browne cd87bbbdea Plugins: Remove externalCorePlugins feature toggle (#108386)
remove externalCorePlugins feature toggle
2025-07-21 13:55:30 +01:00
Will Browne f6ed9e6ff0 Plugins: Introduce plugin asset provider (#108063)
* introduce plugin asset provider

* simply with PR feedback

* fix linter
2025-07-17 16:20:35 +01:00
Will Browne 54d6140e6d Plugins: Stub logger method for backend plugin test mock (#108211)
stub logger method for backend plugin test mock
2025-07-17 10:18:31 +01:00
Will Browne 1e0fd825eb Plugins: Simplify assetpath logic (#107876)
* simplify assetpath logic

* fix tests
2025-07-09 15:48:52 +01:00
Will Browne 43d369b51a Plugins Remove failWrongDSUID feature toggle (#107308)
* remove failWrongDSUID FT

* undo go.mod changes
2025-06-27 14:43:58 +01:00
Will Browne 3020794b60 Plugins: Remove angularDeprecationUI feature toggle (#107300)
* remove angularDeprecationUI FT

* undo go.mod changes
2025-06-27 12:02:00 +01:00
Will Browne 3d37f969e7 Plugins: Move discovery logic to plugin sources (#106911)
* move finder behaviour to source

* tidy

* undo go.mod changes

* fix comment

* tidy unsafe local source
2025-06-19 10:28:23 +01:00
Will Browne 05b458741e DataSources: Add mutex to provisioning step (#106921)
add mutex to ds provisioning
2025-06-18 16:34:40 +01:00
Will Browne cf31954f2a Plugins: Add integration test for provisioned plugin dashboard import (#105681)
* add test

* make it fail

* get test work reliably

* get or create db section

* remove unnecessary code

* move test to first

* add comment

* apply PR feedback
2025-06-12 14:24:47 +01:00
Will Browne edb0865caa Chore: Ensure we save correct default admin user in integration test DB setup (#105752)
* fix helper + amend tests

* fix import + remove unused var

* remove more users

* remove unused code

* update test comment
2025-05-28 11:25:01 +01:00
Will Browne 9c2846c4fb Plugins: Separate pluginv2 interfaces from ProtoClient interface (#104795)
split interfaces
2025-05-06 17:02:32 +01:00
Will Browne a5649b6e1d Plugins: Fix issue with propagating ID token downstream for RunStream requests (#104833)
fix issue
2025-05-06 11:41:32 +01:00
Will Browne a1b792b1f5 Plugins: Remove plugin dependency version (#103728)
remove plugin dependency version
2025-04-10 15:02:05 +01:00
Will Browne 53126eb307 Chore: Disable snapshot flag for plugins API test (#103733)
disable snapshot flag for test
2025-04-10 09:57:20 +01:00
Will Browne 48877f9187 Alerting: Fix plugin not found error during condition validation (#102437)
improve error
2025-04-04 10:37:55 +01:00
Will Browne 5b67ae1876 Plugins: Remove support for secrets manager plugins (#101467)
* remove secrets manager code

* remove unused struct

* add test toggles back

* rollback golden file changes

* add missing TestMain

* update betterer
2025-03-20 10:00:59 +00:00
Will Browne 8d839780d6 Plugins: Update to latest go plugin SDK version (0.272.0) (#102090)
update go plugin sdk to latest
2025-03-13 10:23:30 +00:00
Will Browne 5a2cba7b01 Plugins: Forward HTTP headers to plugin streaming calls (#101960)
* forward HTTP headers to plugin streaming calls

* fixup

* fix test based on feedback

* improve test assertions
2025-03-12 10:37:07 +00:00
Will Browne 510c76df49 Chore: Update to latest go plugin SDK (#101939)
* update to latest go plugin SDK

* add missing changes
2025-03-11 14:57:19 +00:00
Will Browne c74a5fcbed Chore: Avoid simplejson usage in xorm module (#101943)
avoid simplejson usage
2025-03-11 14:24:20 +00:00
Will Browne 04cc096b23 Docs: Fix plugin installation title by removing non-breaking space (#101798)
remove nbsp
2025-03-07 14:48:55 +00:00
Will Browne 8f465f1249 Plugins: Add confirmation modal for uninstalling updateable plugin (#101297)
* add confirmation modal for uninstalling updateable plugin

* shush betterer

* refactor with master Levi

* update betterer

* update name
2025-02-27 10:56:25 +00:00
Will BrowneandAndres Martinez Gotor 70fb7b9545 Plugins: Remove bundled plugins feature (#96490)
* remove bundled plugins

* Add echo to command

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>

* remove folder entirely

* remove folder from CODEOWNERS

---------

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2025-01-14 12:04:01 +00:00
Will Browne 5a2315dabf Plugins: Capture error source from grpc status errors (#97471)
* capture errorsource from grpc error

* apply PR feedback

* update comment

* update comment

* use SDK logic

* update SDK commit

* update sdk

* update golden files
2025-01-08 17:05:28 +00:00
Will Browne d85353926d Metrics: Export multi registry (#97662)
* export multi registry

* fixup
2024-12-12 09:48:27 +00:00
Will Browne 871af07203 Chore: Go Workspace fix (#97694) 2024-12-09 20:45:03 -06:00
Will Browne 6bd1865749 Plugins: Fix flaky reverse proxy response tests (#96051)
tidy
2024-11-11 14:35:42 +00:00
Will Browne b87c76ad21 Plugins: Add metric to track plugin backend target (#95976)
* add metric to track plugin backend target

* tidy

* fix test
2024-11-07 12:01:46 +00:00
Will Browne 9ae3d049a3 Plugins: Simplify TestExtractFiles test (#95183)
simplify TestExtractFiles test
2024-10-24 12:01:00 +01:00
Will Browne a2868fdb14 Plugins: Replace references of plugin SDK backend.Logger with Grafana logger (#95235)
replace references
2024-10-24 12:00:40 +01:00
Will Browne 25abd57029 Plugins: Update to latest go plugin SDK (0.256.0) (#95065)
* update to latest go plugin SDK

* make update-workspace

* update alerting tests
2024-10-22 15:44:53 +01:00
Will Browne f97f489c2c Plugins: Skip install errors if dependency plugin already exists (#94710)
* skip install errors if dependency plugin already exists

* add test
2024-10-15 11:35:45 +01:00
Will Browne 52f8cecd4a Plugins: Add state logs for plugin client retrieval (#93630)
* add state to grpc plugin

* tidy

* fix lint

* fix issues

* return true

* use defer

* update err message
2024-09-24 15:55:02 +03:00
Will Browne 7cd546238b Revert "Plugins: Add logs for plugin proto client retrieval" (#93617)
Revert "Plugins: Add logs for plugin proto client retrieval (#93527)"

This reverts commit ccf6fbebfa.
2024-09-23 19:26:02 +03:00
Will Browne ccf6fbebfa Plugins: Add logs for plugin proto client retrieval (#93527) 2024-09-20 17:36:11 +01:00
Will Browne 362ffff591 Plugins: Avoid returning 404 for AutoEnabled apps (#93436)
avoid errors for autoenabled apps
2024-09-19 14:00:34 +01:00
Will Browne ffbf6cf72d Plugins: Add test case for relative parent directory path (#93338)
add case for testing relative path
2024-09-13 18:30:19 +03:00
Will BrowneandLevente Balogh 3f8d127410 Plugins: Ensure only updateable plugins can be updated via the UI (#93205)
* only updateable plugins can be updated via the UI

* add missing state

* Apply levi brains

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>

* apply same style throughout

---------

Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
2024-09-12 13:51:50 +01:00
Will Browne 0469b0f52e Plugins: Ensure fetch loading strategy cases for nested plugins (#93209)
* fix

* fix func name
2024-09-11 16:35:13 +03:00
Will BrowneandJack Westbrook 2c47d246fc Plugins: Introduce LoadingStrategy for frontend loading logic (#92392)
* do it all

* feat(plugins): move loadingStrategy to ds pluginMeta and add to plugin settings endpoint

* support child plugins and update tests

* use relative path for nested plugins

* feat(plugins): support nested plugins in the plugin loader cache by extracting pluginId from path

* feat(grafana-data): add plugin loading strategy to plugin meta and export

* feat(plugins): pass down loadingStrategy to fe plugin loader

* refactor(plugins): make PluginLoadingStrategy an enum

* feat(plugins): add the loading strategy to the fe plugin loader cache

* feat(plugins): load fe plugin js assets as script tags based on be loadingStrategy

* add more tests

* feat(plugins): add loading strategy to plugin preloader

* feat(plugins): make loadingStrategy a maybe and provide fetch fallback

* test(alerting): update config.apps mocks to include loadingStrategy

* fix format

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-09-09 10:38:35 +01:00
Will Browne aea8b60849 Plugins: Add support for fetching plugin includes from plugin CDN (#91476)
* update oss side

* add Rel func to plugins.FS

* update tests

* add comment

* fix fs paths for nested plugin

* fix test

* fix sources

* fix cdn class bug

* update tests

* remove commented out code
2024-08-21 09:46:41 +01:00
Will Browne d35e9264bb Plugins: Use plugins SDK constants for OAuth header names (#90892)
use SDK consts
2024-08-20 13:29:41 +01:00
Will Browne 704b07b3f0 Plugins: Bump plugin SDK to latest (0.244.0) (#92057)
bump SDK
2024-08-20 14:40:51 +03:00
Will Browne 9300c1bbea Plugins: Update CLI check if plugin is already installed (#91213)
* check if plugin installed

* undo remove initial vers check

* still attempt deps
2024-08-06 09:21:40 +01:00
Will BrowneandGiuseppe Guerra fa49fe3331 Plugins: Use bundle instead of individual plugin during construct step (#91140)
* work off bundle instead of individual plugin

* Remove children

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* Remove children ref

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>

* fix assign

* end early

* unset children

---------

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2024-07-30 11:24:37 +01:00
Will Browne 1b3fa8c47f Plugins: Hide version information when plugin is managed (#88065)
* first pass

* fixup

* fix linter issues

* fix API test

* update naming

* rework

* update var name

* empty check

* prettier

* fix test

* fix lint
2024-07-29 11:18:43 +01:00
Will Browne 343d6f8a0c Plugins: Support > 1 levels of plugin dependencies (#90174)
* do it

* prevent loops

* change to sync.Map
2024-07-09 15:46:30 +01:00
Will Browne cff9ecbd6d Plugins: Ensure plugin dependency field in plugin.json does not require version (#90142)
non required + pattern
2024-07-08 15:28:52 +01:00
Will Browne 74230937f4 Plugins: Update plugin SDK Go to 0.235.0 (#89153)
update plugin SDK go to 0.235.0
2024-06-13 15:14:39 +02:00
Will Browne 7d8722b561 API server: Add shutdown func to interface (#88827)
add shutdown func to interface
2024-06-06 15:18:54 +01:00
Will Browne 8a5c0cfdc0 Plugins: Pass cancellable context during API server creation (#86545) 2024-04-19 09:22:14 +03:00
Will Browne dceb83ab42 Plugins: Expose backendplugin for client proto interface (#86207)
* first pass

* tidy

* add err check

* remove comment

* simplify

* remove unused stuff

* add backend()

* use SDK commit

* add codeowners for go.mod

* fix go.mod

* bump SDK

* go work sync
2024-04-17 18:47:01 +02:00
Will Browne 698436aa29 Plugins: Update to latest go plugin sdk (v0.221.0) (#85796)
* update plugin sdk

* fix indirect
2024-04-09 15:06:05 +02:00
Will Browne 257cc98062 Datasources: Remove unused functions (#85473)
* cleanup unused funcs

* remove more stuff
2024-04-02 16:19:52 +02:00
Will Browne 22fe7b067c Plugins: Set correct PDC config values for proxy requests (#85412)
pass appropriate values
2024-03-29 20:17:05 +02:00
Will Browne 1a0ac381eb Plugins: Send PDC file paths and contents for backwards compatibility (#85287)
* send paths and contents

* go work sync
2024-03-27 18:19:11 +01:00
Will Browne cd912367b3 Plugins: Pass PDC info as file paths (#85239)
* pass filepaths

* fix test
2024-03-27 15:21:05 +01:00
Will Browne b765c21d4c Plugins: Pass PDC file contents in requests (#84783)
* Plugins: Pass PDC file contents in requests

* go mod tidy

* undo go.mod changes

* fix linter

* fix tests

* undo unnecessary changes

* update dep

* join with comma

* update naming

* bump SDK
2024-03-22 13:52:24 +01:00
Will Browne c8c372c327 Prometheus: Prevent duplicate registration of custom header middleware (#84860)
* remove dupe middleware

* fix test
2024-03-20 21:22:33 +02:00
Will Browne 9d453d0dcc Plugins: Remove direct featuremgmt.FeatureToggles dependency from plugins config (#84482) 2024-03-15 10:58:51 +01:00
Will Browne 225ac8003c Plugins: Tidy config struct (#84168)
* tidy plugins config usage

* fix tests
2024-03-11 16:28:46 +01:00
Will Browne c644826f50 Query: Add query type to json marshal/unmarshal (#83821)
add query type to json marshal/unmarshal
2024-03-04 16:06:57 +01:00
Will Browne 549094d27c grafana/data: Gardening 👨‍🌾✂️🌳 (#83615)
* remove suspected unused dependencies from grafana/data

* un-export funcs and types

* re-export NoopTransformerOptions

* remove knip
2024-02-29 15:53:09 +01:00
Will Browne 5edd96ae77 Plugins: Refactor plugin config into separate env var and request scoped services (#83261)
* seperate services for env + req

* merge with main

* fix tests

* undo changes to golden file

* fix linter

* remove unused fields

* split out new config struct

* provide config

* undo go mod changes

* more renaming

* fix tests

* undo bra.toml changes

* update go.work.sum

* undo changes

* trigger

* apply PR feedback
2024-02-27 12:38:02 +01:00
Will Browne 941881266a Plugins: Remove unused metadata.md file (#83086)
* remove unused metadata

* remove CODEOWNERS ref
2024-02-20 12:11:50 +02:00
Will Browne 788b9afda3 Plugins: Make it possible to support multiple plugin versions (#82116)
* first pass

* use version in more places

* add comment

* update installer

* fix wire

* fix tests

* tidy

* simplify changes

* fix in mem

* remove unused step

* fix step dupe logic for child plugins + add tests
2024-02-12 12:47:49 +01:00
Will BrowneandJack Westbrook 99feb928cf Plugins: Don't auto prepend app sub url to plugin asset paths (#81658)
* don't prepend app sub url to paths

* simplify logo path

* fix(plugins): dynamically prepend appSubUrl for System module resolving to work

* fix(sandbox): support dynamic appSuburl prepend when loading plugin module.js

* fix tests

* update test name

* fix tests

* update fe + add some tests

* refactor(plugins): move wrangleurl to utils, rename to resolveModulePath, update usage

* chore: fix a typo

* test(plugins): add missing name to utils test

* reset test flag

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
2024-02-08 12:19:28 +01:00
Will Browne 2a0f1900d5 Datasources: Add wireset for datasource.DataSourceAPIBuilder (#80914)
tidy up
2024-01-22 15:21:27 +01:00
Will Browne d5bec225ed Plugins: Fix Plugin Context method docs (#80906)
* fix method docs

* add docs for new method
2024-01-19 16:22:17 +01:00
Will Browne 3f30cbf91c DataSources: Add datasource fetching + querying interface (#80749)
* first pass

* separate oss + enterprise

* tidy things up

* add ctx

* fix tests

* use standalone svcs

* mv plugin context provide

* fix wire

* fix import
2024-01-19 15:56:52 +01:00
Will Browne 3885497553 Plugins: Update renderer plugin source (#80643)
* rework renderer plugin source

* add tests
2024-01-18 11:06:33 +01:00
Will Browne 78ae795e06 Plugins: Fix loading of dist folders (#80015)
* end to end

* tidy

* fix whitespace

* remove unused code

* fix linter

* fix gosec + add sort

* fix test

* apply cr feedback
2024-01-08 11:45:03 +01:00
Will Browne 6ceab61bf8 Plugins: Support nested plugin signature validation on Windows (#79467)
* rework

* fix

* fix backend start

* fix tests

* fix

* print env

* enable CGO

* undo changes

* undo whitespace change
2023-12-19 11:56:40 +01:00
Will Browne ef60c90dfa Plugins: Make file system path handling in tests OS agnostic (#79651)
* make path handling OS agnostic

* PR feedback

* fix input for test case
2023-12-19 11:01:48 +01:00
Will Browne 0b511aaace Plugins: Add backend check for app page role access (#78269)
* add backend check for roles

* tidy

* fix tests

* incorporate rbac

* fix linter

* apply PR feedback

* add tests

* fix logic

* add comment

* apply PR feedback
2023-12-18 16:12:46 +01:00
Will Browne 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
Will Browne ddb7406caa Plugins: Add running method to interface (#78326)
* add running to interface

* add context
2023-11-17 13:52:31 +01:00
Will Browne b3ad61e180 Plugins: Add plugin version field to proto interface (#78213)
add plugin version
2023-11-15 16:53:30 +01:00
Will Browne 26bcfe300f Plugins: Follow root level dist and siblings when walking file system (#78042)
* simplify

* add comments

* tidy up

* remove line

* update comment

* fix pfs test

* fix err import

* delete code
2023-11-14 10:31:46 +01:00
Will Browne 4299efbc56 Plugins: Expose PID through proto interface (#77821)
* expose PID thru interface

* apply PR feedback

* simplify

* add read lock
2023-11-13 14:41:53 +01:00
Will Browne 7d2d5fbe89 Plugins: Add referer and user login params to plugin CDN redirect logs (#77942)
add referer and user
2023-11-10 11:52:06 +01:00
Will Browne 662bc286c2 Plugins: Bump go plugin sdk to 0.191.0 (#77773)
* bump

* bump plugin sdk
2023-11-07 11:52:31 +01:00
Will Browne 19cd7dbae1 Plugins: Add API for creating pluginv2 proto client (#77492)
* first pass

* remove client from plugin

* fix wire

* update

* undo import change

* add opts

* add check

* tidy

* re-use logic

* rollback changes
2023-11-03 14:01:08 +01:00
Will Browne 9d92818cae Plugins: Update PDC pattern from latest plugin SDK changes (#76576)
* update with sdk

* do sql

* fix core plugins

* fix proxy settings

* bump SDK version

* tidy

* enable pdc for test

* add codeowners

* bump dep

* go mod tidy

* bump SDK
2023-10-16 16:40:04 +02:00
Will Browne 151f6d6216 Plugins: Update PDC pattern from latest plugin SDK changes (#76036)
* update with sdk

* do sql

* fix core plugins

* fix proxy settings

* bump SDK version

* tidy

* enable pdc for test

* add codeowners
2023-10-13 14:42:15 +02:00
Will Browne 8a33a6f958 Plugin: Accept backend plugin process command args (#76037)
accept args
2023-10-05 15:15:57 +02:00
Will Browne d6db9eaeb2 Plugins: Make sure feature toggles config value is deterministic (#75249)
* make sure feature toggle config vals are deterministic

* fix nil pointer

* undo changes

* fix condition

* add tests
2023-09-22 13:56:48 +02:00
Will Browne de2a107efa Chore: Fix slug cfg name (#75235)
fix cfg name
2023-09-21 15:59:49 +03:00