micro/runtime/service/proto/runtime.proto
2020-05-21 16:41:55 +01:00

128 lines
2.2 KiB
Protocol Buffer

syntax = "proto3";
package go.micro.runtime;
service Runtime {
rpc Create(CreateRequest) returns (CreateResponse) {};
rpc Read(ReadRequest) returns (ReadResponse) {};
rpc Delete(DeleteRequest) returns (DeleteResponse) {};
rpc Update(UpdateRequest) returns (UpdateResponse) {};
rpc Logs(LogsRequest) returns (stream LogRecord) {};
}
message Service {
// name of the service
string name = 1;
// version of the service
string version = 2;
// git url of the source
string source = 3;
// service metadata
map<string,string> metadata = 4;
}
message Event {
string type = 1;
int64 timestamp = 2;
string service = 3;
string version = 4;
}
message CreateOptions {
// command to pass in
repeated string command = 1;
// args to pass into command
repeated string args = 2;
// environment to pass in
repeated string env = 3;
// output to send to
string output = 4;
// create type of service
string type = 5;
// image to use
string image = 6;
}
message CreateRequest {
Service service = 1;
CreateOptions options = 2;
}
message CreateResponse {}
message ReadOptions {
// service name
string service = 1;
// version of the service
string version = 2;
// type of service
string type = 3;
}
message ReadRequest {
ReadOptions options = 1;
}
message ReadResponse {
repeated Service services = 1;
}
message DeleteOptions {
}
message DeleteRequest {
Service service = 1;
DeleteOptions options = 2;
}
message DeleteResponse {}
message UpdateOptions {
}
message UpdateRequest {
Service service = 1;
UpdateOptions options = 2;
}
message UpdateResponse {}
message ListOptions {
}
message ListRequest {
ListOptions options = 1;
}
message ListResponse {
repeated Service services = 1;
}
message LogsOptions {
}
message LogsRequest{
// service to request logs for
string service = 1;
// stream records continuously
bool stream = 2;
// count of records to request
int64 count = 3;
// relative time in seconds
// before the current time
// from which to show logs
int64 since = 4;
// options to use
LogsOptions options = 5;
}
message LogRecord {
// timestamp of log record
int64 timestamp = 1;
// record metadata
map<string,string> metadata = 2;
// message
string message = 3;
}