syntax = "proto3"; package makit.v1; import "google/protobuf/timestamp.proto"; import "google/protobuf/duration.proto"; // docker run -p 9011:9011 -v /tmp/liget-set/:/data tomzo/liget:latest enum Language { RUBY = 0; CSHARP = 1; RUST = 2; } message DotNetProject{ string template = 1; string name = 2; string output = 3; } message Project { string git_remote_url = 1; string name = 2; repeated DotNetProject dotnet_projects = 5; } enum PackageType{ GEM = 0; NUGET = 1; CRATE = 3; } message CommandRequest { string name = 1; repeated string arguments = 2; google.protobuf.Timestamp timeout = 3; string directory = 4; string task = 5; bytes input = 6; bool exit_on_error = 7; } // Command represents a command to be executed on a device. message Command { int64 id = 1; string name = 2; repeated string arguments = 3; int32 exit_code = 4; bytes input = 5; bytes output = 6; bytes error = 7; google.protobuf.Timestamp started_at = 8; google.protobuf.Duration duration = 9; string user = 10; string device = 11; string os = 12; string directory = 13; } // Service to execute commands on devices. service CommandService { // Execute a command on a device. rpc Execute(CommandRequest) returns (Command); } message Configuration { string name = 1; repeated CommandRequest commands = 2; } message GitRepository { string url = 1; string relative_path = 2; } message GitLogEntry{ string commit = 1; string author = 2; google.protobuf.Timestamp date = 3; string message = 4; } message MakeResult{ string repository = 1; string commit = 2; string branch = 3; string tag = 4; string device = 5; string runtime_identifier = 6; repeated Command commands = 7; int32 initial_size = 8; int32 final_size = 9; } message DotNetNewArgs{ string template = 1; string name = 2; string output = 3; }