#grpc #hashi-corp #golang #go-plugin

grr-plugin

A Rust-based go-plugin implementation, to allow Rust plugins into Go programs

11 releases

0.2.0 Feb 8, 2022
0.1.9 Feb 7, 2022
0.1.0 Jan 31, 2022

#18 in #hashi-corp

Apache-2.0

46KB
883 lines

Build Status

grr-plugin-server

Hashicorp's go-plugin, for now, only server side (Plugin side) implemented in Rust.

This will allow Rust-based gRPC plugins to be consumed by go programs.

This repo is still being built. The authoritative usage of this crate is in the Landslide Custom VM for the Avalanche blockchain.

I can imagine this being used for Rust-based plugins for other Hashicorp tools such as Terraform and so forth. I'm sadly not plugged into that ecosystem.

Basic usage looks like:

    let plugin = Server::new(1, HandshakeConfig{
        magic_cookie_key: "foo".to_string(),
        magic_cookie_value: "bar".to_string(),
    });

    plugin.serve(service).await?;

Dependencies

~16–31MB
~479K SLoC