Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
92 lines
2.9 KiB
Protocol Buffer
92 lines
2.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package ignite.services.plugin.grpc.v1;
|
|
|
|
import "ignite/services/plugin/grpc/v1/client_api.proto";
|
|
import "ignite/services/plugin/grpc/v1/interface.proto";
|
|
|
|
option go_package = "github.com/ignite/cli/v29/ignite/services/plugin/grpc/v1";
|
|
|
|
// InterfaceService defines the interface that must be implemented by all plugins.
|
|
service InterfaceService {
|
|
// Manifest declares the plugin's Command(s) and Hook(s).
|
|
rpc Manifest(ManifestRequest) returns (ManifestResponse);
|
|
|
|
// Execute will be invoked by ignite when a plugin Command is executed.
|
|
// It is global for all commands declared in Manifest, if you have declared
|
|
// multiple commands, use cmd.Path to distinguish them.
|
|
rpc Execute(ExecuteRequest) returns (ExecuteResponse);
|
|
|
|
// ExecuteHookPre is invoked by ignite when a command specified by the Hook
|
|
// path is invoked.
|
|
// It is global for all hooks declared in Manifest, if you have declared
|
|
// multiple hooks, use hook.Name to distinguish them.
|
|
rpc ExecuteHookPre(ExecuteHookPreRequest) returns (ExecuteHookPreResponse);
|
|
|
|
// ExecuteHookPost is invoked by ignite when a command specified by the hook
|
|
// path is invoked.
|
|
// It is global for all hooks declared in Manifest, if you have declared
|
|
// multiple hooks, use hook.Name to distinguish them.
|
|
rpc ExecuteHookPost(ExecuteHookPostRequest) returns (ExecuteHookPostResponse);
|
|
|
|
// ExecuteHookCleanUp is invoked by ignite when a command specified by the
|
|
// hook path is invoked. Unlike ExecuteHookPost, it is invoked regardless of
|
|
// execution status of the command and hooks.
|
|
// It is global for all hooks declared in Manifest, if you have declared
|
|
// multiple hooks, use hook.Name to distinguish them.
|
|
rpc ExecuteHookCleanUp(ExecuteHookCleanUpRequest) returns (ExecuteHookCleanUpResponse);
|
|
}
|
|
|
|
message ManifestRequest {}
|
|
|
|
message ManifestResponse {
|
|
Manifest manifest = 1;
|
|
}
|
|
|
|
message ExecuteRequest {
|
|
ExecutedCommand cmd = 1;
|
|
uint32 client_api = 2;
|
|
}
|
|
|
|
message ExecuteResponse {}
|
|
|
|
message ExecuteHookPreRequest {
|
|
ExecutedHook hook = 1;
|
|
uint32 client_api = 2;
|
|
}
|
|
|
|
message ExecuteHookPreResponse {}
|
|
|
|
message ExecuteHookPostRequest {
|
|
ExecutedHook hook = 1;
|
|
uint32 client_api = 2;
|
|
}
|
|
|
|
message ExecuteHookPostResponse {}
|
|
|
|
message ExecuteHookCleanUpRequest {
|
|
ExecutedHook hook = 1;
|
|
uint32 client_api = 2;
|
|
}
|
|
|
|
message ExecuteHookCleanUpResponse {}
|
|
|
|
// ClientAPIService defines the interface that allows plugins to get chain app analysis info.
|
|
service ClientAPIService {
|
|
// GetChainInfo returns basic chain info for the configured app
|
|
rpc GetChainInfo(GetChainInfoRequest) returns (GetChainInfoResponse);
|
|
// GetIgniteInfo returns basic ignite info
|
|
rpc GetIgniteInfo(GetIgniteInfoRequest) returns (GetIgniteInfoResponse);
|
|
}
|
|
|
|
message GetChainInfoRequest {}
|
|
|
|
message GetChainInfoResponse {
|
|
ChainInfo chain_info = 1;
|
|
}
|
|
|
|
message GetIgniteInfoRequest {}
|
|
|
|
message GetIgniteInfoResponse {
|
|
IgniteInfo ignite_info = 1;
|
|
}
|