gatewayd
gatewayd copied to clipboard
Add `plugin` command for managing plugins and their configs
The idea is to have a plugin subcommand that can do a few things:
- [x] #265
- [x] #266
- [x] #264
- [x] #307
- [x] #309
- [ ] #350
- [x] #475
- This can be part of https://github.com/gatewayd-io/gatewayd-plugin-sdk/issues/1
- [ ]
plugin build: Build plugins - [ ] #183
- [ ] Check plugin compatibility?
- [ ] Generate the latest protobuf stubs for the given language
- [ ] #424
Requirements
- The plugins are supposed to be on GitHub for now, which means GitHub is the plugin registry for now, until the following feature is added:
- https://github.com/gatewayd-io/internal-proposals/issues/8
Resources
- https://github.com/schollz/progressbar
There is WIP in the add-plugin-command branch. This is really hard to test, since all the projects are private now and there is too much unnecessary overhead needed to download a plugin. The gatewayd_plugins.yaml file is very easy to read, as of now. But it might pose a security threat, as the contents of the config file and the asset should be trusted first. Hence, there needs to be a plugin registry. This ticket needs to be picked up after making repos public.
The plugin init, plugin lint and plugin install from GitHub are developed and released in the v0.6.x milestone. The rest will be implemented at a later stage.
The plugin list and plugin install from local archive are developed and released in the v0.7.x milestone. The rest will be implemented at later stages.
Some features like plugin install flags for updating plugin, backing up plugins config file, and cleaning up after install are developed and released in the v0.8.x milestone. The rest will be implemented at later stages.
Some features were developed in v0.9.x and the rest will be picked up in other milestones.