Files
mcr/proto/mcr/v1/registry.proto
Kyle Isom d5580f01f2 Migrate module path from kyle/ to mc/ org
All import paths updated to git.wntrmute.dev/mc/. Bumps mcdsl to v1.2.0.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 02:05:59 -07:00

83 lines
1.7 KiB
Protocol Buffer

syntax = "proto3";
package mcr.v1;
option go_package = "git.wntrmute.dev/mc/mcr/gen/mcr/v1;mcrv1";
import "mcr/v1/common.proto";
service RegistryService {
rpc ListRepositories(ListRepositoriesRequest) returns (ListRepositoriesResponse);
rpc GetRepository(GetRepositoryRequest) returns (GetRepositoryResponse);
rpc DeleteRepository(DeleteRepositoryRequest) returns (DeleteRepositoryResponse);
rpc GarbageCollect(GarbageCollectRequest) returns (GarbageCollectResponse);
rpc GetGCStatus(GetGCStatusRequest) returns (GetGCStatusResponse);
}
message RepositoryMetadata {
string name = 1;
int32 tag_count = 2;
int32 manifest_count = 3;
int64 total_size = 4;
string created_at = 5;
}
message TagInfo {
string name = 1;
string digest = 2;
string updated_at = 3;
}
message ManifestInfo {
string digest = 1;
string media_type = 2;
int64 size = 3;
string created_at = 4;
}
message ListRepositoriesRequest {
PaginationRequest pagination = 1;
}
message ListRepositoriesResponse {
repeated RepositoryMetadata repositories = 1;
}
message GetRepositoryRequest {
string name = 1;
}
message GetRepositoryResponse {
string name = 1;
repeated TagInfo tags = 2;
repeated ManifestInfo manifests = 3;
int64 total_size = 4;
string created_at = 5;
}
message DeleteRepositoryRequest {
string name = 1;
}
message DeleteRepositoryResponse {}
message GarbageCollectRequest {}
message GarbageCollectResponse {
string id = 1;
}
message GetGCStatusRequest {}
message GCLastRun {
string started_at = 1;
string completed_at = 2;
int32 blobs_removed = 3;
int64 bytes_freed = 4;
}
message GetGCStatusResponse {
bool running = 1;
GCLastRun last_run = 2;
}