The remote generation alpha included a feature called remote plugin execution, which we now simply refer to as remote plugins. Usage is extremely similar, however there are a few callouts to be aware of.
The buf.gen.yaml configuration file is largely unchanged, except for:
remotekeys to reference plugins changed to just
pluginkey understands both local and remote references. Requires buf CLI version 1.8 or later.
- Drop the
/plugins/path when referencing remote plugins
- Remove any revision numbers (the revision is now a separate key and typically not specified.)
Full example covering all changes:
plugins:- - remote: buf.build/bufbuild/plugins/connect-go:v1.3.1-1+ - plugin: buf.build/bufbuild/connect-go:v1.3.1
In the alpha, public plugins could be uploaded by individual users with no verification. This caused a subpar experience for users who discovered plugins on their own, as well as caused a security headache for some of our customers. All public remote plugins are now maintained and verified by the Buf team directly.
The BSR will still allow you to upload your custom, private plugins. This feature is already available for our enterprise users, and we'll be rolling this out to our buf.build users in the coming weeks as a paid feature. Contact us if you are interested in working with us!