mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
* add experimental config for set baseImageRepo and workspaceImageRepo * use crane speed up build workpace image layer * refactor image build logic * Indicate when BuildStarted fails * Revert "Indicate when BuildStarted fails" This reverts commit 11f36f1b76164a3777d27430dd35aacb322fe2f4. * Apply suggestions from code review Co-authored-by: Kyle Brennan <kyle@gitpod.io> * update readme * remove warn --------- Co-authored-by: Kyle Brennan <kyle@gitpod.io>
142 lines
3.4 KiB
Protocol Buffer
142 lines
3.4 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package builder;
|
|
option go_package = "github.com/gitpod-io/gitpod/image-builder/api";
|
|
|
|
import "content-service-api/initializer.proto";
|
|
|
|
service ImageBuilder {
|
|
// ResolveBaseImage returns the "digest" form of a Docker image tag thereby making it absolute.
|
|
rpc ResolveBaseImage(ResolveBaseImageRequest) returns (ResolveBaseImageResponse) {};
|
|
|
|
// ResolveWorkspaceImage returns information about a build configuration without actually attempting to build anything.
|
|
rpc ResolveWorkspaceImage(ResolveWorkspaceImageRequest) returns (ResolveWorkspaceImageResponse) {};
|
|
|
|
// Build initiates the build of a Docker image using a build configuration. If a build of this
|
|
// configuration is already ongoing no new build will be started.
|
|
rpc Build(BuildRequest) returns (stream BuildResponse) {};
|
|
|
|
// Logs listens to the build output of an ongoing Docker build identified build the build ID
|
|
rpc Logs(LogsRequest) returns (stream LogsResponse) {};
|
|
|
|
// ListBuilds returns a list of currently running builds
|
|
rpc ListBuilds(ListBuildsRequest) returns (ListBuildsResponse) {};
|
|
}
|
|
|
|
message BuildSource {
|
|
oneof from {
|
|
BuildSourceReference ref = 1;
|
|
BuildSourceDockerfile file = 2;
|
|
};
|
|
}
|
|
|
|
message BuildSourceReference {
|
|
string ref = 1;
|
|
}
|
|
|
|
message BuildSourceDockerfile {
|
|
contentservice.WorkspaceInitializer source = 1;
|
|
string dockerfile_version = 2;
|
|
string dockerfile_path = 3;
|
|
string context_path = 4;
|
|
}
|
|
|
|
message ResolveBaseImageRequest {
|
|
string ref = 1;
|
|
BuildRegistryAuth auth = 2;
|
|
}
|
|
|
|
message ResolveBaseImageResponse {
|
|
string ref = 1;
|
|
}
|
|
|
|
message ResolveWorkspaceImageRequest {
|
|
BuildSource source = 1;
|
|
BuildRegistryAuth auth = 2;
|
|
}
|
|
|
|
message ResolveWorkspaceImageResponse {
|
|
string ref = 1;
|
|
string base_ref = 3;
|
|
BuildStatus status = 2;
|
|
}
|
|
|
|
message BuildRequest {
|
|
BuildSource source = 1;
|
|
BuildRegistryAuth auth = 2;
|
|
bool force_rebuild = 3;
|
|
string triggered_by = 4;
|
|
string supervisor_ref = 5;
|
|
string base_image_name_resolved = 6;
|
|
}
|
|
|
|
message BuildRegistryAuth {
|
|
oneof mode {
|
|
BuildRegistryAuthTotal total = 1;
|
|
BuildRegistryAuthSelective selective = 2;
|
|
}
|
|
map<string, string> additional = 3;
|
|
}
|
|
|
|
message BuildRegistryAuthTotal {
|
|
bool allow_all = 1;
|
|
}
|
|
|
|
message BuildRegistryAuthSelective {
|
|
bool allow_baserep = 1;
|
|
bool allow_workspacerep = 2;
|
|
repeated string any_of = 3;
|
|
}
|
|
|
|
message BuildResponse {
|
|
// deprecated(cw): expect this field to go away in a future version.
|
|
// it's redundant with the build info.
|
|
string ref = 1;
|
|
|
|
string base_ref = 4;
|
|
|
|
// deprecated(cw): expect this field to go away in a future version.
|
|
// it's redundant with the build info.
|
|
BuildStatus status = 2;
|
|
|
|
string message = 3;
|
|
BuildInfo info = 5;
|
|
}
|
|
|
|
enum BuildStatus {
|
|
unknown = 0;
|
|
running = 1;
|
|
done_success = 2;
|
|
done_failure = 3;
|
|
}
|
|
|
|
message LogsRequest {
|
|
string build_ref = 1;
|
|
bool censored = 2;
|
|
string build_id = 3;
|
|
}
|
|
|
|
message LogsResponse {
|
|
bytes content = 1;
|
|
}
|
|
|
|
message ListBuildsRequest {}
|
|
|
|
message ListBuildsResponse {
|
|
repeated BuildInfo builds = 1;
|
|
}
|
|
|
|
message BuildInfo {
|
|
string ref = 1;
|
|
string base_ref = 4;
|
|
BuildStatus status = 2;
|
|
int64 started_at = 3;
|
|
string build_id = 5;
|
|
LogInfo log_info = 6;
|
|
}
|
|
|
|
message LogInfo {
|
|
string url = 1;
|
|
map<string, string> headers = 2;
|
|
}
|