mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-04 10:03:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			246 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			246 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
 | 
						|
package buildx.controller.v1;
 | 
						|
 | 
						|
import "github.com/moby/buildkit/api/services/control/control.proto";
 | 
						|
import "github.com/moby/buildkit/sourcepolicy/pb/policy.proto";
 | 
						|
 | 
						|
option go_package = "pb";
 | 
						|
 | 
						|
service Controller {
 | 
						|
  rpc Build(BuildRequest) returns (BuildResponse);
 | 
						|
  rpc Inspect(InspectRequest) returns (InspectResponse);
 | 
						|
  rpc Status(StatusRequest) returns (stream StatusResponse);
 | 
						|
  rpc Input(stream InputMessage) returns (InputResponse);
 | 
						|
  rpc Invoke(stream Message) returns (stream Message);
 | 
						|
  rpc List(ListRequest) returns (ListResponse);
 | 
						|
  rpc Disconnect(DisconnectRequest) returns (DisconnectResponse);
 | 
						|
  rpc Info(InfoRequest) returns (InfoResponse);
 | 
						|
  rpc ListProcesses(ListProcessesRequest) returns (ListProcessesResponse);
 | 
						|
  rpc DisconnectProcess(DisconnectProcessRequest) returns (DisconnectProcessResponse);
 | 
						|
}
 | 
						|
 | 
						|
message ListProcessesRequest {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListProcessesResponse {
 | 
						|
  repeated ProcessInfo Infos = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ProcessInfo {
 | 
						|
  string ProcessID = 1;
 | 
						|
  InvokeConfig InvokeConfig = 2;
 | 
						|
}
 | 
						|
 | 
						|
message DisconnectProcessRequest {
 | 
						|
  string Ref = 1;
 | 
						|
  string ProcessID = 2;
 | 
						|
}
 | 
						|
 | 
						|
message DisconnectProcessResponse {
 | 
						|
}
 | 
						|
 | 
						|
message BuildRequest {
 | 
						|
  string Ref = 1;
 | 
						|
  BuildOptions Options = 2;
 | 
						|
}
 | 
						|
 | 
						|
message BuildOptions {
 | 
						|
  string ContextPath = 1;
 | 
						|
  string DockerfileName = 2;
 | 
						|
  PrintFunc PrintFunc = 3;
 | 
						|
  map<string, string> NamedContexts = 4;
 | 
						|
 | 
						|
  repeated string Allow = 5;
 | 
						|
  repeated Attest Attests = 6;
 | 
						|
  map<string, string> BuildArgs = 7;
 | 
						|
  repeated CacheOptionsEntry CacheFrom = 8;
 | 
						|
  repeated CacheOptionsEntry CacheTo = 9;
 | 
						|
  string CgroupParent = 10;
 | 
						|
  repeated ExportEntry Exports = 11;
 | 
						|
  repeated string ExtraHosts = 12;
 | 
						|
  map<string, string> Labels = 13;
 | 
						|
  string NetworkMode = 14;
 | 
						|
  repeated string NoCacheFilter = 15;
 | 
						|
  repeated string Platforms = 16;
 | 
						|
  repeated Secret Secrets = 17;
 | 
						|
  int64 ShmSize = 18;
 | 
						|
  repeated SSH SSH = 19;
 | 
						|
  repeated string Tags = 20;
 | 
						|
  string Target = 21;
 | 
						|
  UlimitOpt Ulimits = 22;
 | 
						|
 | 
						|
  string Builder = 23;
 | 
						|
  bool NoCache = 24;
 | 
						|
  bool Pull = 25;
 | 
						|
  bool ExportPush = 26;
 | 
						|
  bool ExportLoad = 27;
 | 
						|
  moby.buildkit.v1.sourcepolicy.Policy SourcePolicy = 28;
 | 
						|
}
 | 
						|
 | 
						|
message ExportEntry {
 | 
						|
  string Type = 1;
 | 
						|
  map<string, string> Attrs = 2;
 | 
						|
  string Destination = 3;
 | 
						|
}
 | 
						|
 | 
						|
message CacheOptionsEntry {
 | 
						|
  string Type = 1;
 | 
						|
  map<string, string> Attrs = 2;
 | 
						|
}
 | 
						|
 | 
						|
message Attest {
 | 
						|
  string Type = 1;
 | 
						|
  bool Disabled = 2;
 | 
						|
  string Attrs = 3;
 | 
						|
}
 | 
						|
 | 
						|
message SSH {
 | 
						|
  string ID = 1;
 | 
						|
  repeated string Paths = 2;
 | 
						|
}
 | 
						|
 | 
						|
message Secret {
 | 
						|
  string ID = 1;
 | 
						|
  string FilePath = 2;
 | 
						|
  string Env = 3;
 | 
						|
}
 | 
						|
 | 
						|
message PrintFunc {
 | 
						|
	string Name = 1;
 | 
						|
	string Format = 2;
 | 
						|
}
 | 
						|
 | 
						|
message InspectRequest {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message InspectResponse {
 | 
						|
  BuildOptions Options = 1;
 | 
						|
}
 | 
						|
 | 
						|
message UlimitOpt {
 | 
						|
  map<string, Ulimit> values = 1;
 | 
						|
}
 | 
						|
 | 
						|
message Ulimit {
 | 
						|
  string Name = 1;
 | 
						|
  int64 Hard = 2;
 | 
						|
  int64 Soft = 3;
 | 
						|
}
 | 
						|
 | 
						|
message BuildResponse {
 | 
						|
	map<string, string> ExporterResponse = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DisconnectRequest {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DisconnectResponse {}
 | 
						|
 | 
						|
message ListRequest {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message ListResponse {
 | 
						|
  repeated string keys = 1;
 | 
						|
}
 | 
						|
 | 
						|
message InputMessage {
 | 
						|
  oneof Input {
 | 
						|
    InputInitMessage Init = 1;
 | 
						|
    DataMessage Data = 2;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
message InputInitMessage {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message DataMessage {
 | 
						|
  bool EOF = 1;    // true if eof was reached
 | 
						|
  bytes Data = 2;  // should be chunked smaller than 4MB:
 | 
						|
                   // https://pkg.go.dev/google.golang.org/grpc#MaxRecvMsgSize
 | 
						|
}
 | 
						|
 | 
						|
message InputResponse {}
 | 
						|
 | 
						|
message Message {
 | 
						|
  oneof Input {
 | 
						|
    InitMessage Init = 1;
 | 
						|
    // FdMessage used from client to server for input (stdin) and
 | 
						|
    // from server to client for output (stdout, stderr)
 | 
						|
    FdMessage File = 2;
 | 
						|
    // ResizeMessage used from client to server for terminal resize events
 | 
						|
    ResizeMessage Resize = 3;
 | 
						|
    // SignalMessage is used from client to server to send signal events
 | 
						|
    SignalMessage Signal = 4;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
message InitMessage {
 | 
						|
  string Ref = 1;
 | 
						|
 | 
						|
  // If ProcessID already exists in the server, it tries to connect to it
 | 
						|
  // instead of invoking the new one. In this case, InvokeConfig will be ignored.
 | 
						|
  string ProcessID = 2;
 | 
						|
  InvokeConfig InvokeConfig = 3;
 | 
						|
}
 | 
						|
 | 
						|
message InvokeConfig {
 | 
						|
  repeated string Entrypoint = 1;
 | 
						|
  repeated string Cmd = 2;
 | 
						|
  bool NoCmd = 11; // Do not set cmd but use the image's default
 | 
						|
  repeated string Env = 3;
 | 
						|
  string User = 4;
 | 
						|
  bool NoUser = 5; // Do not set user but use the image's default
 | 
						|
  string Cwd = 6;
 | 
						|
  bool NoCwd = 7; // Do not set cwd but use the image's default
 | 
						|
  bool Tty = 8;
 | 
						|
  bool Rollback = 9; // Kill all process in the container and recreate it.
 | 
						|
  bool Initial = 10; // Run container from the initial state of that stage (supported only on the failed step)
 | 
						|
}
 | 
						|
 | 
						|
message FdMessage {
 | 
						|
  uint32 Fd = 1;   // what fd the data was from
 | 
						|
  bool EOF = 2;    // true if eof was reached
 | 
						|
  bytes Data = 3;  // should be chunked smaller than 4MB:
 | 
						|
                   // https://pkg.go.dev/google.golang.org/grpc#MaxRecvMsgSize
 | 
						|
}
 | 
						|
 | 
						|
message ResizeMessage {
 | 
						|
  uint32 Rows = 1;
 | 
						|
  uint32 Cols = 2;
 | 
						|
}
 | 
						|
 | 
						|
message SignalMessage {
 | 
						|
  // we only send name (ie HUP, INT) because the int values
 | 
						|
  // are platform dependent.
 | 
						|
  string Name = 1;
 | 
						|
}
 | 
						|
 | 
						|
message StatusRequest {
 | 
						|
  string Ref = 1;
 | 
						|
}
 | 
						|
 | 
						|
message StatusResponse {
 | 
						|
  repeated moby.buildkit.v1.Vertex vertexes = 1;
 | 
						|
  repeated moby.buildkit.v1.VertexStatus statuses = 2;
 | 
						|
  repeated moby.buildkit.v1.VertexLog logs = 3;
 | 
						|
  repeated moby.buildkit.v1.VertexWarning warnings = 4;
 | 
						|
}
 | 
						|
 | 
						|
message InfoRequest {}
 | 
						|
 | 
						|
message InfoResponse {
 | 
						|
  BuildxVersion buildxVersion = 1;
 | 
						|
}
 | 
						|
 | 
						|
message BuildxVersion {
 | 
						|
  string package = 1;
 | 
						|
  string version = 2;
 | 
						|
  string revision = 3;
 | 
						|
}
 |