Documentation
¶
Index ¶
- Constants
- Variables
- type Provider
- type ProviderGrpcClient
- func (c *ProviderGrpcClient) ExecuteActions(req *protocolv1.ExecuteActionsRequest) (*protocolv1.ExecuteActionsResponse, error)
- func (c *ProviderGrpcClient) ExecuteFilters(req *protocolv1.ExecuteFiltersRequest) (*protocolv1.ExecuteFiltersResponse, error)
- func (c *ProviderGrpcClient) GetPlugin(req *protocolv1.GetPluginRequest) (*protocolv1.GetPluginResponse, error)
- func (c *ProviderGrpcClient) OnPrClosed(req *protocolv1.OnPrClosedRequest) (*protocolv1.OnPrClosedResponse, error)
- func (c *ProviderGrpcClient) OnPrCreated(req *protocolv1.OnPrCreatedRequest) (*protocolv1.OnPrCreatedResponse, error)
- func (c *ProviderGrpcClient) OnPrMerged(req *protocolv1.OnPrMergedRequest) (*protocolv1.OnPrMergedResponse, error)
- func (c *ProviderGrpcClient) Shutdown(req *protocolv1.ShutdownRequest) (*protocolv1.ShutdownResponse, error)
- type ProviderGrpcServer
- func (s *ProviderGrpcServer) ExecuteActions(_ context.Context, request *protocolv1.ExecuteActionsRequest) (*protocolv1.ExecuteActionsResponse, error)
- func (s *ProviderGrpcServer) ExecuteFilters(_ context.Context, request *protocolv1.ExecuteFiltersRequest) (*protocolv1.ExecuteFiltersResponse, error)
- func (s *ProviderGrpcServer) GetPlugin(_ context.Context, request *protocolv1.GetPluginRequest) (*protocolv1.GetPluginResponse, error)
- func (s *ProviderGrpcServer) OnPrClosed(_ context.Context, request *protocolv1.OnPrClosedRequest) (*protocolv1.OnPrClosedResponse, error)
- func (s *ProviderGrpcServer) OnPrCreated(_ context.Context, request *protocolv1.OnPrCreatedRequest) (*protocolv1.OnPrCreatedResponse, error)
- func (s *ProviderGrpcServer) OnPrMerged(_ context.Context, request *protocolv1.OnPrMergedRequest) (*protocolv1.OnPrMergedResponse, error)
- func (s *ProviderGrpcServer) Shutdown(_ context.Context, request *protocolv1.ShutdownRequest) (*protocolv1.ShutdownResponse, error)
- type ProviderPlugin
Constants ¶
const (
ID = "saturn-bot-plugin"
)
Variables ¶
var Handshake = plugin.HandshakeConfig{
ProtocolVersion: 1,
MagicCookieKey: "SATURN_PLUGIN_MAGIC_COOKIE",
MagicCookieValue: "9P59IdZaEoZpENXXY2SHuvjczxUVHJaVhGG8RgeIVXfPx6c5wt34g6NLtRNehFT6",
}
Handshake defines settings used by the client and server of go-plugin.
var PluginMap = map[string]plugin.Plugin{ ID: &ProviderPlugin{}, }
PluginMap defines the mapping of plugin ID to the actual implementation. It is used by client and server implementations to identify which go-plugin to call or start, respectively.
Functions ¶
This section is empty.
Types ¶
type Provider ¶
type Provider interface { ExecuteActions(*protocolv1.ExecuteActionsRequest) (*protocolv1.ExecuteActionsResponse, error) ExecuteFilters(*protocolv1.ExecuteFiltersRequest) (*protocolv1.ExecuteFiltersResponse, error) GetPlugin(*protocolv1.GetPluginRequest) (*protocolv1.GetPluginResponse, error) OnPrClosed(*protocolv1.OnPrClosedRequest) (*protocolv1.OnPrClosedResponse, error) OnPrCreated(*protocolv1.OnPrCreatedRequest) (*protocolv1.OnPrCreatedResponse, error) OnPrMerged(*protocolv1.OnPrMergedRequest) (*protocolv1.OnPrMergedResponse, error) Shutdown(*protocolv1.ShutdownRequest) (*protocolv1.ShutdownResponse, error) }
Provider defines the methods to call remote code via go-plugin.
type ProviderGrpcClient ¶
type ProviderGrpcClient struct {
// contains filtered or unexported fields
}
ProviderGrpcClient provides the implementation of the gRPC plugin client. codeberg.org/saturn-sync/saturn uses this implementation to connect to a plugin process.
func (*ProviderGrpcClient) ExecuteActions ¶
func (c *ProviderGrpcClient) ExecuteActions(req *protocolv1.ExecuteActionsRequest) (*protocolv1.ExecuteActionsResponse, error)
func (*ProviderGrpcClient) ExecuteFilters ¶
func (c *ProviderGrpcClient) ExecuteFilters(req *protocolv1.ExecuteFiltersRequest) (*protocolv1.ExecuteFiltersResponse, error)
func (*ProviderGrpcClient) GetPlugin ¶
func (c *ProviderGrpcClient) GetPlugin(req *protocolv1.GetPluginRequest) (*protocolv1.GetPluginResponse, error)
func (*ProviderGrpcClient) OnPrClosed ¶
func (c *ProviderGrpcClient) OnPrClosed(req *protocolv1.OnPrClosedRequest) (*protocolv1.OnPrClosedResponse, error)
func (*ProviderGrpcClient) OnPrCreated ¶
func (c *ProviderGrpcClient) OnPrCreated(req *protocolv1.OnPrCreatedRequest) (*protocolv1.OnPrCreatedResponse, error)
func (*ProviderGrpcClient) OnPrMerged ¶
func (c *ProviderGrpcClient) OnPrMerged(req *protocolv1.OnPrMergedRequest) (*protocolv1.OnPrMergedResponse, error)
func (*ProviderGrpcClient) Shutdown ¶
func (c *ProviderGrpcClient) Shutdown(req *protocolv1.ShutdownRequest) (*protocolv1.ShutdownResponse, error)
type ProviderGrpcServer ¶
type ProviderGrpcServer struct { protocolv1.UnimplementedPluginServiceServer Impl Provider }
ProviderGrpcServer connects the gRPC server with the implementation of the rpc methods. The Go plugin SDK defines the implementation.
func (*ProviderGrpcServer) ExecuteActions ¶
func (s *ProviderGrpcServer) ExecuteActions(_ context.Context, request *protocolv1.ExecuteActionsRequest) (*protocolv1.ExecuteActionsResponse, error)
ExecuteActions implements Provider.
func (*ProviderGrpcServer) ExecuteFilters ¶
func (s *ProviderGrpcServer) ExecuteFilters(_ context.Context, request *protocolv1.ExecuteFiltersRequest) (*protocolv1.ExecuteFiltersResponse, error)
ExecuteFilters implements Provider.
func (*ProviderGrpcServer) GetPlugin ¶
func (s *ProviderGrpcServer) GetPlugin(_ context.Context, request *protocolv1.GetPluginRequest) (*protocolv1.GetPluginResponse, error)
GetPlugin implements Provider.
func (*ProviderGrpcServer) OnPrClosed ¶
func (s *ProviderGrpcServer) OnPrClosed(_ context.Context, request *protocolv1.OnPrClosedRequest) (*protocolv1.OnPrClosedResponse, error)
OnPrClosed implements Provider.
func (*ProviderGrpcServer) OnPrCreated ¶
func (s *ProviderGrpcServer) OnPrCreated(_ context.Context, request *protocolv1.OnPrCreatedRequest) (*protocolv1.OnPrCreatedResponse, error)
OnPrCreated implements Provider.
func (*ProviderGrpcServer) OnPrMerged ¶
func (s *ProviderGrpcServer) OnPrMerged(_ context.Context, request *protocolv1.OnPrMergedRequest) (*protocolv1.OnPrMergedResponse, error)
OnPrMerged implements Provider.
func (*ProviderGrpcServer) Shutdown ¶
func (s *ProviderGrpcServer) Shutdown(_ context.Context, request *protocolv1.ShutdownRequest) (*protocolv1.ShutdownResponse, error)
Shutdown implements Provider.
type ProviderPlugin ¶
type ProviderPlugin struct { plugin.Plugin Impl Provider }
ProviderPlugin is the bridge between custom code and go-plugin.
func (*ProviderPlugin) GRPCClient ¶
func (p *ProviderPlugin) GRPCClient(_ context.Context, _ *plugin.GRPCBroker, c *grpc.ClientConn) (interface{}, error)
GRPCClient implements plugin.GRPCPlugin. go-plugin uses this method under the hood to instantiate a plugin client.
func (*ProviderPlugin) GRPCServer ¶
func (p *ProviderPlugin) GRPCServer(_ *plugin.GRPCBroker, s *grpc.Server) error
GRPCServer implements plugin.GRPCPlugin. The Saturn Go plugin SDK uses this method to start the plugin process.