package main import ( "context" hplugin "github.com/hashicorp/go-plugin" "git.cw.tr/mukan-network/mukan-ignite/ignite/pkg/errors" "git.cw.tr/mukan-network/mukan-ignite/ignite/services/plugin" ) type app struct{} func (app) Manifest(context.Context) (*plugin.Manifest, error) { return &plugin.Manifest{ Name: "execute_fail", }, nil } func (app) Execute(context.Context, *plugin.ExecutedCommand, plugin.ClientAPI) error { return errors.New("fail") } func (app) ExecuteHookPre(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func (app) ExecuteHookPost(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func (app) ExecuteHookCleanUp(context.Context, *plugin.ExecutedHook, plugin.ClientAPI) error { return nil } func main() { hplugin.Serve(&hplugin.ServeConfig{ HandshakeConfig: plugin.HandshakeConfig(), Plugins: map[string]hplugin.Plugin{ "execute_fail": plugin.NewGRPC(&app{}), }, GRPCServer: hplugin.DefaultGRPCServer, }) }