github.com/lalkh/containerd@v1.4.3/api/services/introspection/v1/introspection.proto (about) 1 syntax = "proto3"; 2 3 package containerd.services.introspection.v1; 4 5 import "github.com/containerd/containerd/api/types/platform.proto"; 6 import "google/rpc/status.proto"; 7 import "google/protobuf/empty.proto"; 8 import weak "gogoproto/gogo.proto"; 9 10 option go_package = "github.com/containerd/containerd/api/services/introspection/v1;introspection"; 11 12 service Introspection { 13 // Plugins returns a list of plugins in containerd. 14 // 15 // Clients can use this to detect features and capabilities when using 16 // containerd. 17 rpc Plugins(PluginsRequest) returns (PluginsResponse); 18 // Server returns information about the containerd server 19 rpc Server(google.protobuf.Empty) returns (ServerResponse); 20 } 21 22 message Plugin { 23 // Type defines the type of plugin. 24 // 25 // See package plugin for a list of possible values. Non core plugins may 26 // define their own values during registration. 27 string type = 1; 28 29 // ID identifies the plugin uniquely in the system. 30 string id = 2; 31 32 // Requires lists the plugin types required by this plugin. 33 repeated string requires = 3; 34 35 // Platforms enumerates the platforms this plugin will support. 36 // 37 // If values are provided here, the plugin will only be operable under the 38 // provided platforms. 39 // 40 // If this is empty, the plugin will work across all platforms. 41 // 42 // If the plugin prefers certain platforms over others, they should be 43 // listed from most to least preferred. 44 repeated types.Platform platforms = 4 [(gogoproto.nullable) = false]; 45 46 // Exports allows plugins to provide values about state or configuration to 47 // interested parties. 48 // 49 // One example is exposing the configured path of a snapshotter plugin. 50 map<string, string> exports = 5; 51 52 // Capabilities allows plugins to communicate feature switches to allow 53 // clients to detect features that may not be on be default or may be 54 // different from version to version. 55 // 56 // Use this sparingly. 57 repeated string capabilities = 6; 58 59 // InitErr will be set if the plugin fails initialization. 60 // 61 // This means the plugin may have been registered but a non-terminal error 62 // was encountered during initialization. 63 // 64 // Plugins that have this value set cannot be used. 65 google.rpc.Status init_err = 7; 66 } 67 68 message PluginsRequest { 69 // Filters contains one or more filters using the syntax defined in the 70 // containerd filter package. 71 // 72 // The returned result will be those that match any of the provided 73 // filters. Expanded, plugins that match the following will be 74 // returned: 75 // 76 // filters[0] or filters[1] or ... or filters[n-1] or filters[n] 77 // 78 // If filters is zero-length or nil, all items will be returned. 79 repeated string filters = 1; 80 } 81 82 message PluginsResponse { 83 repeated Plugin plugins = 1 [(gogoproto.nullable) = false]; 84 } 85 86 message ServerResponse { 87 string uuid = 1 [(gogoproto.customname) = "UUID"]; 88 }