Many applications have a requirement to load plugins, from either first or third parties, but until recently Go lacked the ability to use the standard shared memory model for this. Back in 2013 with the launch of Packer, HashiCorp built a plugin system for Go which works in multiple processes using RPC. It's since been used in Terraform and Otto, and separated out into a battle-tested library named 'go-plugin' which anyone writing Go can use.
In this talk we'll look at the history of go-plugin, build an example host and plugins using it, and talk about what is coming in future.
YOU MAY ALSO LIKE:
A practical guide to Go-Plugin and other HashiCorp libraries
James is a software developer and consultant living in Bath, England. He often works on systems in industries with significant regulatory constraints, including pharmaceutical manufacturing, healthcare and energy. He is currently working on the op